XAudio2 и аудио с переменным битрейтом - PullRequest
0 голосов
/ 15 сентября 2009

Как мне правильно воспроизвести аудиофайлы, которые могут иметь переменную скорость передачи данных (и даже переменное количество каналов в некоторых случаях), например, ogg / vorbis?

XAudio ожидает эту информацию в структуре WAVEFORMATEX при создании исходного голоса и, похоже, не предоставляет средства для ее изменения для каждого отправленного буфера ...

1 Ответ

2 голосов
/ 15 сентября 2009

Если у меня высокий уровень, ни в одном аудиоформате не указана переменная выход битрейт или переменное число выход каналов. Кодек с переменным битрейтом означает, что количество битов, используемых для кодирования фиксированного количества выборок, варьируется. Vorbis позволяет динамически кодировать каналы, а также каналы, которые могут быть воспроизведены с помощью более простых функций, таких как тишина. Количество выходных каналов остается постоянным, а также битрейт на выходе.

Кроме того, XAudio2 изначально не поддерживает файлы ogg / vorbis; он поддерживает PCM, ADPCM и xWMA в Windows и PCM, XMA и xWMA в Xbox 360.

Как правило, для не родных форматов вам необходимо самостоятельно распаковать аудио в соответствующий выходной битрейт и формат канала и отправить его на IXAudio2SourceVoice через IXAudio2SourceVoice::SubmitSourceBuffer.

...