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)

另请参阅

KSDATAFORMAT_DSOUND

KSNODETYPE_3D_EFFECTS

KSNODETYPE_SRC

KSNODETYPE_VOLUME

KSPROPERTY_AUDIO_POSITION

KSPROPSETID_Hrtf3d

波形

波形ATEXTENSIBLE