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 wFormatTag
22 2 声道数 单声道取1 多声道取2 nChannels
24 4 采样率(每秒样本数),如44100HZ nSamplesPerSec
28 4 音频数据传送速率,公式:采样率*每次采样大小 (即:SamplesPerSec*BlockAlign) nAvgBytesperSec
32 2 每次采样大小(单位:byte),公式:采样精度*声道数/8 (即:BitsPerSample*Channels/8) nBlockAlign
34 2 每个声道的采样精度(单位:bit),如8,16 wBitsPerSample
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;
存储量=(采样率*采样精度*声道)*时间/8(单位:字节数)
作者:jiangxueqiao
补充:综合编程 , 其他综合 ,