偏移 | 所占字节 | 数据 | 备注 |
0 | 4 | 字符串"RIFF" | |
4 | 4 | 文件长度(不含本身和RIFF块),在不含附加信息的情况下即音频数据长度+36 | |
8 | 4 | 字符串"WAVE" | |
12 | 4 | 字符串"fmt " | |
16 | 4 | format块大小 PCM格式一般取16(0x10),若取18则format块后有附加信息 | |
20 | 2 | 音频编码格式 PCM编码取1 | FormatTag |
22 | 2 | 声道数 单声道取1 多声道取2 | Channels |
24 | 4 | 采样率(每秒样本数),如44100HZ | SamplesPerSec |
28 | 4 | 音频数据传送速率,公式:采样率*每次采样大小 (即:SamplesPerSec*BlockAlign) | AvgBytesperSec |
32 | 2 | 每次采样大小(单位:byte),公式:采样精度*声道数/8 (即:BitsPerSample*Channels/8) | BlockAlign |
34 | 2 | 每个声道的采样精度(单位:bit),如8,16 | BitsPerSample |
36 | 4 | 字符串"data" | |
40 | 4 | 音频数据的长度 | |
44 | * | 实际音频数据 | |
typedef struct { WORD wFormatag; //编码格式,包括WAVE_FORMAT_PCM,WAVEFORMAT_ADPCM等 WORD nChannls; //声道数,单声道为1,双声道为2; DWORD nSamplesPerSec; //采样频率; DWORD nAvgBytesperSec; //每秒的数据量(即音频数据传送速率),SamplesPerSec*BlockAlign WORD nBlockAlign; //块对齐,每次采样大小,BitsPerSample*Channels/8 WORD wBitsPerSample; //每个声道的采样精度(单位:bit) WORD cbSize; // The count in bytes of the size of extra // information(after cbSize). PCM中忽略此值 } WAVEFORMATEX; |
WAV音频格式
最新推荐文章于 2022-04-15 15:24:15 发布