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