0

如何正确播放可能具有可变比特率(在某些情况下甚至是可变数量的通道)的音频文件,例如 ogg/vorbis?

XAudio 期望在创建源语音时在 WAVEFORMATEX 结构中提供此信息,并且似乎没有提供一种方法来为每个提交的缓冲区更改它...

4

1 回答 1

3

除非我很高,否则没有音频格式指定可变输出比特率或可变数量的输出通道。可变比特率编解码器意味着用于对固定数量的样本进行编码的比特数是变化的。Vorbis 允许对通道进行动态编码,也允许使用更简单的功能(例如静音)再现通道。输出通道的数量以及输出比特率保持不变。

此外,XAudio2 本身并不支持 ogg/vorbis 文件;它在 Windows 上支持 PCM、ADPCM 和 xWMA,在 Xbox 360 上支持 PCM、XMA 和 xWMA。

通常,对于非原生格式,您必须自己将音频解压缩为适当的输出比特率和通道格式,并将其发送到IXAudio2SourceVoicevia IXAudio2SourceVoice::SubmitSourceBuffer

于 2009-09-15T19:06:43.000 回答