WAVEFORMATEX
时间: 2024-04-12 19:32:15 浏览: 17
`WAVEFORMATEX` 是一个结构体,用于描述音频数据的格式信息。它在 Windows API 中被广泛使用,用于指定音频的采样率、位深度、声道数等参数。
`WAVEFORMATEX` 结构体定义如下:
```c
typedef struct tWAVEFORMATEX {
WORD wFormatTag; // 音频编码格式
WORD nChannels; // 声道数
DWORD nSamplesPerSec; // 采样率
DWORD nAvgBytesPerSec; // 平均传输速率
WORD nBlockAlign; // 数据块对齐字节数
WORD wBitsPerSample; // 位深度
WORD cbSize; // 结构体大小
} WAVEFORMATEX, *PWAVEFORMATEX, *LPWAVEFORMATEX;
```
各个字段的含义如下:
- `wFormatTag`:音频编码格式,例如 PCM、ADPCM、MP3 等。
- `nChannels`:声道数,表示音频的通道数量,常见的值为 1(单声道)和 2(立体声)。
- `nSamplesPerSec`:采样率,表示每秒钟采集的音频样本数。
- `nAvgBytesPerSec`:平均传输速率,表示每秒钟传输的字节数。
- `nBlockAlign`:数据块对齐字节数,表示每个采样帧的字节数。
- `wBitsPerSample`:位深度,表示每个采样点的位数,常见的值为 8、16、24、32 等。
- `cbSize`:结构体大小,表示该结构体的实际大小。
通过使用 `WAVEFORMATEX` 结构体,我们可以指定音频数据的格式,用于音频输入输出操作。