我正在学习Windows核心音频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位采样通道。我怎样才能确定这些样本是整数还是浮点值?
[core-audio标签显然是Apple API的标签。是否有适用于Windows核心音频不同的标签]
D'oh!感谢您的澄清。 –