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 引脚 (KSNODETYPE_3D_EFFECTS) 实现 3D 节点。 如果设置了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 要求。
KSDSOUND_BUFFER_CTRL_VOLUME
指示缓冲区具有音量控制功能。 如果设置了此位,表示缓冲区的引脚将实现卷节点 (KSNODETYPE_VOLUME) 来控制流的音量级别。
KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY
指示缓冲区具有位置通知功能。 如果设置了此位,则表示缓冲区的引脚支持 KSPROPERTY_AUDIO_POSITION 属性。
WaveFormatEx
指定缓冲区的波形数据格式。 此成员是 WAVEFORMATEX 类型的结构。
注解
KSDATAFORMAT_DSOUND 结构包含一个 BufferDesc 成员,该成员是KSDSOUND_BUFFERDESC结构。
请注意,可以扩展 KSDSOUND_BUFFERDESC 结构的 WaveFormatEx 成员,以包含其他格式信息 (例如通道配置掩码) 。 有关详细信息,请参阅 WAVEFORMATEXTENSIBLE。
要求
要求 | 值 |
---|---|
Header | ksmedia.h (包括 Ksmedia.h) |