一般通过麦克风采集的录音数据都是PCM格式的,即不包含头部信息,这样导致很多播放器都播放不了,你只能用像Audition这样的专业工具才能进行播放,显然是非常不方便的。为了得到wav格式的录音数据,我们在保存录音数据的时候就要自己手工加上44个字节的头部信息。
wav格式的音频数据的头部信息基本上是固定不变的,总共44个字节,包括以下内容:
1. "RIFF"(4个字节)
固定字符串
2. 录音数据长度 +(44 -8) (4个字节)
类型可以是int或long,但必须保证类型占4个字节大小
3. "WAVE "(4个字节)
固定字符串
4. "fmt " (4个字节)
固定字符串,注意最后有一个空格
5. size1(4个字节)
值为16
6. format tag(2个字节)
值为1
7. channel(2个字节)
声道数,1为单声道,2为多声道
8. sampleRate(4个字节)
采样率,值为8000,16000等
9. bytePerSec(4个字节)
每秒所需的字节数
10. blockAlign(2个字节)
每个采样需要的字节数,计算公式:声道数 * 每个采样需要的bit / 8
11. bitPerSample(2个字节)
每个采样需要的bit数,一般为8或16
12. "data"(4个字节)
固定字符串
13. size2(4个字节)
录音数据的长度,不包括头部长度