参考:
http://blog.csdn.net/mcgrady_tracy/article/details/52502263
http://soundfile.sapp.org/doc/WaveFormat/
音频文件格式定义:
// WAVE格式:Chunk-"RIFF" + Subchunk-"fmt " + Subchunk-"data" + data
struct WAV_HEADER
{
uint32_t ChunkID; // "RIFF"
uint32_t ChunkSize; // 36(&Format 至 &Subchunk2Size) + Subchunk2Size(data size)
uint32_t Format; // "WAVE"
// sub-chunk "fmt"
uint32_t Subchunk1ID; // "fmt "
uint32_t Subchunk1Size; // 16 for PCM (&AudioFormat 至 &BitsPerSample)
uint16_t AudioFormat; // 编码格式:PCM = 1
uint16_t NumChannels; // 声道数,Mono = 1 Stereo = 2 etc.
uint32_t SampleRate; // 采样频率,8000 44100 etc.
uint32_t ByteRate; // 数据传输速率 = SampleRate * NumChannels * BitsPerSample/8
uint16_t BlockAlign; // 采样帧大小 = NumChannels * BitsPerSample/8
uint16_t BitsPerSample; // 采样位宽 sample-size, 8bits 16bits etc.
// sub-chunk "data"
uint32_t Subchunk2ID; // "data"
uint32_t Subchunk2Size; // data size
};