音訊資料格式
若要指定波浪音訊資料流程的資料格式, KSDATAFORMAT 結構會緊接在 WAVEATEX 或 KSDSOUND_BUFFERDESC 結構後面,而 KSDATAFORMAT 的 Specifier 成員會據以設定為下列兩個值之一:
KSDATAFORMAT_SPECIFIER_WAVEFORMATEX
表示資料格式屬於 waveIn 或 waveOut 應用程式所使用的波資料流程。 在此案例中,如果 KSDATAFORMAT 結構的 FormatSize 夠大,則遵循 KSDATAFORMAT 結構的資料格式規範是一個其為一個 REBUILDATEX 結構。
KSDATAFORMAT_SPECIFIER_DSOUND
表示資料格式屬於 DirectSound 應用程式所使用的波浪資料流程。 在此情況下,遵循 KSDATAFORMAT 結構的資料格式規範是KSDSOUND_BUFFERDESC結構,其中包含內嵌的 REBUILDATEX 結構。
KSDATAFORMAT_WAVEFORMATEX結構會封裝 KSDATAFORMAT 結構,以及後面緊接著的 WAVEFORMATEX 結構。 同樣地, KSDATAFORMAT_DSOUND 結構會同時封裝 KSDATAFORMAT 結構和後面DSOUND_BUFFERDESC結構。
針對KSDATAFORMAT_WAVEFORMATEX或KSDATAFORMAT_DSOUND,結構中的最後一個專案是內嵌的 WAVEFORMATEX 結構;在KSDATAFORMAT_DSOUND的情況下,會包含在內嵌DSOUND_BUFFERDESC 結構中。 不論是哪一種情況, 都可能會是一個其開始的一個其一開始, 在此情況下,將「其」的 WFormatTag 成員設定為WAVE_FORMAT_EXTENSIBLE的值。 如需詳細資訊,請參閱 可延伸Wave-Format描述元。
若要指定 MIDI 資料流程或 DirectMusic 資料流程的資料格式,KSDATAFORMAT 結構就已足夠;它後面不會接著任何其他資訊。
如需 wave 和 DirectSound 資料格式的範例,請參閱 PCM 資料流程資料格式 和 DirectSound 資料流程資料格式。 如需 MIDI 和 DirectMusic 資料格式的範例,請參閱 MIDI 資料流程資料格式 和 DirectMusic Stream 資料格式。