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) |