KSDSOUND_BUFFERDESC 結構 (ksmedia.h)

KSDSOUND_BUFFERDESC 結構描述 DirectSound 緩衝區。

語法

typedef struct {
  ULONG        Flags;
  ULONG        Control;
  WAVEFORMATEX WaveFormatEx;
} KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC;

成員

Flags

指定緩衝區組態。 這個成員可以設定為下列一個或多個旗標位的位 OR:

KSDSOUND_BUFFER_PRIMARY

表示緩衝區是主要音效緩衝區, (用戶在遊戲) 時聽到的緩衝區。

KSDSOUND_BUFFER_STATIC

表示緩衝區將用於靜態音效數據。

KSDSOUND_BUFFER_LOCHARDWARE

強制緩衝區使用硬體混合。

KSDSOUND_BUFFER_LOCSOFTWARE

強制緩衝區儲存在系統記憶體中,並使用軟體混合。

Control

指定緩衝區的功能。 緩衝區的功能是由一組控件旗標表示。 這個成員可以設定為下列一個或多個旗標位的位 OR:

KSDSOUND_BUFFER_CTRL_3D

表示緩衝區是具有 3D 控制功能的主要緩衝區或次要緩衝區。 如果設定此位,表示緩衝區的 KS 針腳會實作 3D 節點 (KSNODETYPE_3D_EFFECTS) 。 如果已設定KSDSOUND_BUFFER_CTRL_HRTF_3D位,3D 節點支援選擇性 KSPROPSETID_Hrtf3d 屬性集。

KSDSOUND_BUFFER_CTRL_FREQUENCY

表示緩衝區具有頻率控制功能。 如果設定此位,表示緩衝區的針腳會實作取樣速率轉換 (KSNODETYPE_SRC) 節點。

KSDSOUND_BUFFER_CTRL_HRTF_3D

表示緩衝區使用前端相關的傳輸函式, (HRTF) 進行 3D 控制。 如果設定此位,則也必須設定KSDSOUND_BUFFER_CTRL_3D位。

KSDSOUND_BUFFER_CTRL_PAN

表示緩衝區具有移動流覽控制功能。 如果設定此位,表示緩衝區的針腳會實作磁碟區節點 (KSNODETYPE_VOLUME) 來控制移動流覽。 如需詳細資訊,請參閱 DirectSound Node-Ordering Requirements

KSDSOUND_BUFFER_CTRL_VOLUME

表示緩衝區具有磁碟區控制功能。 如果設定此位,表示緩衝區的針腳會實作磁碟區節點 (KSNODETYPE_VOLUME) 來控制數據流的磁碟區層級。

KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY

表示緩衝區具有位置通知功能。 如果設定這個位,表示緩衝區的針腳支援 KSPROPERTY_AUDIO_POSITION 屬性。

WaveFormatEx

指定緩衝區的波浪數據格式。 這個成員是 一種類型為 WAVEFORMATEX 的結構。

備註

KSDATAFORMAT_DSOUND 結構包含屬於KSDSOUND_BUFFERDESC結構的 BufferDesc 成員。

請注意,可以擴充KSDSOUND_BUFFERDESC結構的 WaveFormatEx 成員,以包含其他格式資訊 (例如通道組態遮罩) 。 如需詳細資訊,請參閱 WAVEFORMATEXTENSIBLE

規格需求

需求
標頭 ksmedia.h (包含 Ksmedia.h)

另請參閱

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

波擷取

WAVEFORMATEXTENSIBLE