1.首先说下常见的几种音频文件格式的区别
常用的语言格式:pcm,mp3,wav,amr
amr:体积很小,1秒到约为1kb,所以音质缩水也很厉害,一般用于手机铃声或彩信
mp3:比较流行的,有损音频,某些部分失真,,音质随码率的提高,越高越好
wav:为无损音频
pcm:无损的wav文件中音频数据的一种编码方式
2.由于AVAudioRecorder录制的音频格式为pcm,体积较大,而市面由于要降低流量成本通常都需要将语音压缩成amr或者MP3格式,所以就需要对语音格式进行转换。
1)将pcm格式转成amr格式
a)将pcm转成wav
http://www.jianshu.com/p/1d1f893e53e9这里详细写了pcm和wav的区别,我简单概括成pcm少了一个wav头描述信息。为此我从讯飞语音的sdk中移植出填写wav头的函数,并把关键的属性抽取出来(如:采样率,通道数…)
b)将wav转成amr
这个是从网上找的Tang Xiaoping的一个框架能将wav转成amr,后来发现环信的ease UI框架中也用了他的
2)将pcm格式转成mp3
这个就很简单了,用lame的框架进行转换,这个框架网上资料一大堆