使用WAV数据
在Windows 驱动模型(WDM)中,DirectSound硬件缓冲区能够播放任何未压缩或压缩的声音格式,这些格式能够被一个WAVEFORMATEX或WAVEFORMATEXTENSIBLE结构描述,并由硬件支持。软件缓冲区和非WDM硬件缓冲区只支持8位和16位未压缩格式。
波形(WAV)数据通常储存在资源交换文件格式(RIFF)的文件或资源中。数据包括一个WAV格式描述,包含如采样率和输出通道数等参数。
多波段WAV格式
在WDM驱动器中,DirectSound缓冲区支持拥有两个以上输出通道的WAV格式。对于如5.1的扬声器配置,它在前台左,中,右,后台左,右,以及低频增强器处均有扬声器。
WAVEFORMATEXTENSIBLE结构描述了一个多通道波形格式。这个结构是对WAVEFORMATEX的扩展,配置了已经由WAVEFORMATEX中cbSize成员支持的额外字节。当需要WAVEFORMATEX的地方,WAVEFORMATEXTENSIBLE结构能够被转化为WAVEFORMATEX。
如果系统配置的物理扬声器比多波段WAV文件中指定的通道数少,音频数据将被适当混合并输出到现有的扬声器。DirectSound不支持多波段格式的缓冲区的3D处理和效果。企图创建带有DSBCAPS_CTRL3D或DSBCAPS_CTRLFX标识的缓冲区和一个多波段WAV格式将会失败。
读取WAV数据