Audiere - brak dźwięku
Ostatnio zmodyfikowano 2009-04-01 21:53
steckel Temat założony przez niniejszego użytkownika |
Audiere - brak dźwięku » 2009-04-01 20:33:01 Witam! Mój program nie odtwarza dźwięku. O to funkcja, która powinna działać, gdyż kompilator nie wykazuje błędów. void dzwiek() { AudioDevicePtr audiodevice( OpenDevice() ); OutputStreamPtr graj( OpenSound( audiodevice, "dzwieki/muzyka.mp3", true ) ); graj->setVolume( 1 ); graj->setRepeat( true ); graj->play(); }
|
|
DejaVu |
» 2009-04-01 21:30:25 Może za cicho dźwięk masz ustawiony? |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-04-01 21:33:45 To nie to, bo gdy odtwarzałem przez allegro to dźwięk był bardzo głośny. |
|
DejaVu |
» 2009-04-01 21:40:40 http://forum.ddt.pl/?Tid=742W powyższym temacie kolega pisał player'a z wykorzystaniem Audiere. O ile się nie mylę to jemu działało odtwarzanie dźwięku tak więc myślę, że możesz mieć mp3 uszkodzoną. Zobacz jak wygląda jego kod do odtwarzania muzyki :) /edit: AudioDevicePtr audiodevice( OpenDevice() ); OutputStreamPtr graj( OpenSound( audiodevice, "nazwa pliku.mp3", true ) ); graj->setVolume( 0.5 ); graj->setRepeat( false ); graj->setPitchShift( 1 ); graj->play();
/edit2: Widzę, że to jest funkcja u Ciebie. Dopisz na końcu pętlę: while( graj->isPlaying() ); Jeśli będzie działało to oznaczać będzie tyle, że obiekt audiodevice z chwilą wyjścia z funkcji jest niszczony, a co za tym idzie dźwięk, który był przekazany do tego urządzenia przestaje być odgrywany. |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-04-01 21:53:06 Obiekt dźwiękowy rzeczywiście był niszczony po wyjściu z funkcji, a gdybym napisał while( graj->isPlaying() ); to program chyba nie przeszedł by dalej. Problem rozwiązałem przenosząc pierwsze 2 linijki na początek kodu. |
|
« 1 » |