用phonegap实现录音播放效果的功能是一个非常麻烦的事情,
录音效果也不理想,而且基于thml5的播放也是个很大的问题,受限于html的性能
phonegap-录音播放插件-主要功能包括,录音,暂停,返回录音文件地址,播放该录音。
看怎么集成
1.在项目中添加 AVFoundation.framework与CoreAudio.framework。
这里ios的录音功能主要依靠AVFoundation.framework与CoreAudio.framework来实现
在工程内添加这两个framework。
2.将插件文件放到项目 plugins 目录下面。需要拖放到xcode,然后选择拷贝
3.添加 引用 config.xml 【3.x后写法不一样根据情况自己修改】
<plugin name=”Luyin” value=”Luyin” />
4.将js文件引入到你的html页面里面,
5.通过调用下面的方法来实现录音和播放。
录音开始:
function luyinstart(str){
Luyin.luyin(
function(echoValue){
alert(echoValue);
$(“#paly”).html(“<button type=’button’ id=’p’ onClick=\”paly(‘”+echoValue+”‘)\” >播放录音</button>”);},
function(err) { alert(err);},str);
}
录音结束:
function luyinoff(str){
Luyin.luyin(
function(echoValue){
//alert(echoValue);
},
function(err){ alert(err);},str
);
}
播放录音:
function paly(str){
Luyin.paly(
function(echoValue){
alert(echoValue);
},
function(err){ alert(err);},str
);
}<bottom onclick =”luyinstart(‘1’)”>录音开始</bottom>
<bottom onclick =”luyinoff(‘2’)”>录音结束</bottom>
<div id=”paly”></div>
6.录音文件会保存到你的项目下面tmp文件加里面,你可以通过方法返回的路径取出来上传到你的服务器,
这里就不做解释。
7.该插件目前录音的文件格式是AAC,这个是目前最好的,大小最小的文件格式,在ios下面非常好用。
当然可以根据自己的需要修改文件格式。具体的格式 可以百度,修改在Luyin.m修改
//设置录音格式 AVFormatIDKey==kAudioFormatLinearPCM
[NSNumber numberWithInt:kAudioFormatMPEG4AAC],AVFormatIDKey,
//修改保存路径的的后缀,具体看代码。
8。一些常见的录音格式。
iPhone上支持的音频编码格式还是比较多的,而且有很多我是以前听都没有听过的。我就先简单列出来:
- AAC: AAC其实是“高级音频编码(advanced audio coding)”的缩写,它是被设计用来取代MP3格式的。你可能会想,它压缩了原始的声音,导致容量占用少但是质量肯定会有所下降。不过这些质量的损失 取决于声音比特率的大小,当比特率合适的时候,这些损失人耳是很难听出来的。事实上,aac比mp3有更好的压缩率,特别是在比特率低于128bit/s 的时候。
- HE-AAC: HE-AAC是AAC的一个超集,这个“HE”代表的是“High efficiency”。 HE-AAC是专门为低比特率所优化的一种音频编码格式,比如streaming audio就特别适合使用这种编码格式。
- AMR: AMR全称是“Adaptive Multi-Rate”,它也是另一个专门为“说话(speech)”所优化的编码格式,也是适合低比特率环境下采用。
- ALAC: 它全称是“Apple Lossless”,这是一种没有任何质量损失的音频编码方式,也就是我们说的无损压缩。在实际使用过程中,它能够压缩40%-60%的原始数据。这种编码格式的解码速度非常快,这对iphone或者ipod这种小型设备来说非常适合。
- iLBC: 这是另一种专门为说话所设计的音频编码格式,它非常适合于IP电话等其它需要流式音频的场合。
- IMA4: 这是一个在16-bit音频文件下按照4:1的压缩比来进行压缩的格式。这是iphone上面一种非常重要的编码格式。
它的中文意思是基于线性脉冲编码调制,用于将模拟声音数据转换成数字声音数据。简而言之,就是意味着无压缩数据。由于数据是非压缩的,它可以非常快的播放,并且当空间不是问题时,这是在iphone上面首选的音频编码方式。 - μ-law and a-law: 就我所知道的,这种编码是交替的编码模拟数据为数字格式数据,但是在speech优化方面比linear PCM更好。
- MP3: 这种格式是我们都知道也喜欢的,虽然很多年过去了,但MP3到目前为止仍然是一种非常流行的编码格式,它也能被iphone很好地支持。
- LPCM也很早就被定义在DVD播放机 的标准内,为了和CD有所区别,DVD的的采样规格为16bit/48KHz,随着技术的发展,DVD的的采样规格更提升到24bit/96KHz,以达 到更高的播放品质,用96KHz/24bit方式记录的音频信号所能达到的频率上限是96÷2= 48KHz,而它的最大动态范围将可以达到24×6=144dB。从指标上就可以看出:它的声音比CD要好得多。pcm编码的最大的优点就是音质好,最大的缺点就是体数据量大。
转载请注明:夜阑小雨 » phonegap-录音播放插件-ios