Autor Wątek: Problem z odgrywaniem mono wav [libsndfile + openal]  (Przeczytany 1035 razy)

Offline KaBaSZo

  • Użytkownik

# Marzec 16, 2015, 15:15:57
Mam taki problem, ponieważ chcę zastąpić wczytywanie plików WAV (mono) z alutLoadWAVFile na bibliotekę libsndfile. Kiedy to robię to odgrywany dźwięk jest taki przyduszony i wolny. Zupełnie nie wiem dlaczego.

Podmianie uległa tylko część wczytywania audio z pliku, mając dane wrzucam wszystko tak samo jak robiłem z alutem, czyli do alBufferData. Wszystkie parametry alSource są niezmienione.
Jako format cały czas używam AL_FORMAT_MONO16, częstotliwość 44kHz.

Co zauważyłem. Kiedy ustawię AL_FORMAT_STEREO16 to dźwięk jest prawidłowy, no ale leci tylko w jednej słuchawce, bo to nie jest plik stereo.
Używałem już libsndfile do plików wielokanałowych i tam wszystko jest odgrywane prawidłowo.

Podejrzałem buffor i dane w obu przypadkach różnią się.
Do wczytywania używam sf_readf_int(sf, buf, frames)

// edit
Rozwiązane, dane powinny być wczytane jako short. Swoją drogę jest sposób, żeby wybrać odpowiednią funkcję sf_read?
« Ostatnia zmiana: Marzec 16, 2015, 15:20:39 wysłana przez KaBaSZo »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych