音訊資料格式

若要指定波浪音訊資料流程的資料格式, KSDATAFORMAT 結構會緊接在 WAVEATEXKSDSOUND_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 資料格式