PCM High Bitdepth Stream-Datenformat
In diesem Beispiel wird eine erweiterte Version einer KSDATAFORMAT_WAVEFORMATEX-Struktur verwendet, um das Datenformat eines PCM-Datenstroms mit hoher Bitdepth-Auslastung zu beschreiben. Dies ähnelt dem PCM-Mehrkanalbeispiel, mit Ausnahme der Werte für Format.wBitsPerSample
und Format.wValidBitsPerSample
, die unten angezeigt werden.
DataFormat.FormatSize = sizeof(KSDATAFORMAT) + sizeof(WAVEFORMATEXTENSIBLE);
DataFormat.Flags = 0;
DataFormat.SampleSize = 0;
DataFormat.Reserved = 0;
DataFormat.MajorFormat = STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO);
DataFormat.SubFormat = STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM);
DataFormat.Specifier = STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
Format.nChannels = 4;
Format.nSamplesPerSec = 44100;
Format.nAvgBytesPerSec = 529200;
Format.nBlockAlign = 8;
Format.wBitsPerSample = 24;
Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX);
Format.wValidBitsPerSample = 20;
Format.dwChannelMask = KSAUDIO_SPEAKER_SURROUND;
Format.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;