WAV音频格式

偏移 所占字节 数据 备注
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;

你可能感兴趣的:(Wave,wav)