共用方式為


音訊數據格式

若要指定波浪音訊資料流程的資料格式, KSDATAFORMAT 結構後面會緊接 WAVEFORMATEXKSDSOUND_BUFFERDESC 結構,而 KSDATAFORMAT 的 Specifier 成員會據以設定為下列兩個值之一:

  • KSDATAFORMAT_SPECIFIER_WAVEFORMATEX

    指出資料格式屬於由 waveIn 或 waveOut 應用程式使用的音波流。 在此情況下,如果 KSDATAFORMAT 結構的 FormatSize 足夠大,則 KSDATAFORMAT 結構之後的資料格式指定元是 WAVEFORMATEX 結構。

  • KSDATAFORMAT_SPECIFIER_DSOUND

    這表示數據格式屬於 DirectSound 應用程式所使用的波形串流。 在此情況下,KSDATAFORMAT 結構之後的資料格式指定元是KSDSOUND_BUFFERDESC結構,其中包含內嵌的 WAVEFORMATEX 結構。

KSDATAFORMAT_WAVEFORMATEX 結構會封裝 KSDATAFORMAT 結構,以及後面的 WAVEFORMATEX 結構。 同樣地, KSDATAFORMAT_DSOUND 結構會封裝 KSDATAFORMAT 結構及其後面的 DSOUND_BUFFERDESC 結構。

對於 KSDATAFORMAT_WAVEFORMATEX 或 KSDATAFORMAT_DSOUND,結構中的最後一個專案是內嵌的 WAVEFORMATEX 結構;在 KSDATAFORMAT_DSOUND 的情況下,WAVEFORMATEX 結構嵌入於內嵌的 DSOUND_BUFFERDESC 結構中。 在任一情況下,WAVEFORMATEX 結構可能是 WAVEFORMATEXTENSIBLE 結構的開頭,在此情況下,WAVEFORMATEX 的 wFormatTag 成員會設定為值 WAVE_FORMAT_EXTENSIBLE。 如需詳細資訊,請參閱 可延伸 Wave-Format 描述元

若要指定 MIDI 資料流程或 DirectMusic 資料流程的資料格式,KSDATAFORMAT 結構就足夠了;它後面沒有任何其他信息。

如需波浪和 DirectSound 資料格式的範例,請參閱 PCM 資料流程資料格式DirectSound 資料流程資料格式。 如需 MIDI 和 DirectMusic 資料格式的範例,請參閱 MIDI 資料流程資料格式DirectMusic 資料流程資料格式。