私はWindows Core Audio APIについて学んでいます。このRendering a Stream例を使用して、私はIAudioClient::GetMixFormatは次のようになり、そのあいまいなWAVEFORMATEXTENSIBLEを返すことを発見しています:IAudioClient :: GetMixFormatからWAVEFORMATEXTENSIBLEを解釈する
Format
wFormatTag = WAVE_FORMAT_EXTENSIBLE (65534)
nChannels = 2
nSamplesPerSec = 48000
nAvgBytesPerSec = 384000
nBlockAlign = 8
wBitsPerSample = 32
cbSize = 22
Samples // this is a union
wValidBitsPerSample = 32
wSamplesPerBlock = 32
wReserved = 32
Format.cbSize
が22であるので、これは全体の構造です。サンプルの詳細については、SubFormat
GUIDはありません。フォーマットタグがWAVE_FORMAT_EXTENSIBLE
なので、これは奇妙に思えます。実際のフォーマットを決定するためには、Subformat
GUIDに頼らざるを得ません。
32ビットのサンプルが2つあることがわかります。これらのサンプルが整数か浮動小数点値かどうかをどのように判断できますか?
[core-audioタグは明らかにApple API用です。 WindowsのCore Audioのための異なるタグがある]
D'oh!説明をありがとう。 –