XAudio2および可変ビットレートオーディオ
質問
ogg / vorbisなど、可変ビットレート(場合によっては可変チャンネル数)の可能性があるオーディオファイルを正しく再生するにはどうすればよいですか?
XAudioは、ソースボイスの作成時にこの情報をWAVEFORMATEX構造体に要求し、送信された各バッファの情報を変更する手段を提供していないようです...
解決
体調が良くない限り、可変の出力ビットレートまたは可変数の出力チャンネルを指定するオーディオ形式はありません。可変ビットレートコーデックとは、固定数のサンプルのエンコードに使用されるビット数が異なることを意味します。 Vorbisを使用すると、無音などのより単純な機能で再生できるチャンネルを動的にエンコードできます。出力チャンネルの数と出力ビットレートは一定のままです。
また、XAudio2はogg / vorbisファイルをネイティブにサポートしていません。 WindowsではPCM、ADPCM、xWMA、Xbox 360ではPCM、XMA、xWMAをサポートしています。
一般的に、非ネイティブ形式の場合、音声を適切な出力ビットレートとチャンネル形式に解凍し、 IXAudio2SourceVoice
に経由で送信する必要があります> IXAudio2SourceVoice :: SubmitSourceBuffer
。
所属していません StackOverflow