_WAVEFORMATEX结构

_WAVEFORMATEX结构定义波形音频数据的格式。

语法

typedef struct _tWAVEFORMATEX {
  WORD  wFormatTag;
  WORD  nChannels;
  DWORD nSamplesPerSec;
  DWORD nAvgBytesPerSec;
  WORD  nBlockAlign;
  WORD  wBitsPerSample;
  WORD  cbSize;
} _WAVEFORMATEX;

成员

wFormatTag

必须设置为设备支持的格式。 请注意,以前版本的 Windows Media 设备管理器建议使用 WMDM_WAVE_FORMAT_ALL 来指示支持所有格式。 但是,不再建议这样做,因为不同的媒体播放器会以不同的方式解释这一点,并且很少有设备能够真正播放任何文件格式。 现在建议使用 WMDM_ENUM_PROP_VALID_VALUES_FORM 枚举的 WMDM_ENUM_PROP_VALID_VALUES_ANY 值,或者最好使用 WMDM_PROP_VALUES_RANGE 结构指定一系列格式。

nChannels

波形音频数据中的声道数。 单声道数据使用一个通道,立体声数据使用两个通道。

nSamplesPerSec

采样率,以每秒样本数 (赫茨) ,此时必须播放或记录每个通道。 nSamplesPerSec 的常见值为 8.0 千赫 (kHz) 、11.025 kHz、22.05 kHz 和 44.1 kHz。

nAvgBytesPerSec

格式标记所需的平均数据传输速率(以字节/秒为单位)。 播放和录制软件可以使用 nAvgBytesPerSec 成员估计缓冲区大小。

nBlockAlign

阻止对齐(以字节为单位)。 块对齐是 wFormatTag 格式类型的最小原子数据单位。 播放和录制软件必须一次处理 多个 nBlockAlign 字节的数据。 从设备写入和读取的数据必须始终从块的开头开始。 例如,不可能在示例 (的中间正确开始播放 PCM 数据,即在非块对齐的边界上) 。

wBitsPerSample

wFormatTag 格式类型的每个样本的位数。

cbSize

忽略此成员。

要求

要求
标头
Wmdm.idl

另请参阅

IMDSPDevice::GetFormatSupport

IMDSPStorage::CreateStorage

IMDSPStorage::GetAttributes

IWMDMDevice::GetFormatSupport

IWMDMOperation::GetObjectAttributes

IWMDMOperation::SetObjectAttributes

IWMDMStorage::GetAttributes

结构