Audiere problem
Ostatnio zmodyfikowano 2011-02-20 15:23
lynx |
» 2011-02-20 14:33:16 Z ciekawości zobacze u siebie jak to działa. :) |
|
Dragonit Temat założony przez niniejszego użytkownika |
» 2011-02-20 14:38:39 Jeśli u ciebie to będzie działać to komputer leci przez okno. |
|
lynx |
» 2011-02-20 15:06:24 Generalnie twój program jest błędny, bo tworzysz w funkcji obiekty które zaraz po powrocie do main() są usunięte.
Przerobiłem troszkę i działa:
#include <ctime> #include <conio.h> #include <cstring> #include "audiere.h"
using namespace audiere; using namespace std; OutputStreamPtr graj;
void Muzyka( AudioDevicePtr device, const char * a ) { graj =( OpenSound( device, a, true ) ); graj->setVolume( 0.5 ); graj->setRepeat( true ); graj->play(); }
int main( void ) { AudioDevicePtr audiodevice =( OpenDevice() ); Muzyka( audiodevice, "1.mp3" ); getch(); return 0; }
|
|
Dragonit Temat założony przez niniejszego użytkownika |
» 2011-02-20 15:20:58 Wielkie dzięki "Pietrzuch". Męczyłem się z tym od rana a jak widać problem nie był zbyt wielki, wystarczyło tylko logicznie pomyśleć(co widać przyszło mi dość ciężko hehe). Dzięki, twój program oczywiście działa. |
|
lynx |
» 2011-02-20 15:23:06 Nie ma sprawy.
Ale w sumie nie najlepszy ten sposób, jeśli chcesz mieć to fajnie opakowane to zrób coś takiego:
- klasa Sound zawierająca obiekt klasy OutputStreamPtr i metodę typu play()
- konstruktor klasy Sound tworzący obiekt OutputStreamPtr z argumentych podanych do konstruktora (adres AudioDevicePtr oraz const char*)
- dodatki typu metody stop();
Generalnie odwołanie się do takiej klasy w kodzie powinno wyglądać na coś w stym stylu:
int main() { AudioDevicePtr audiodevice =( OpenDevice() ); Sound * dzwiek = new Sound( audiodevice, "1.mp3" ); dzwiek->play(); getch(); delete dzwiek; }
|
|
1 « 2 » |