_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
-
忽略此成员。
要求
要求 | 值 |
---|---|
标头 |
|