前言
断点上传功能在移动应用中较为常见,使用过程中,要求录制较为清晰切大小适中的语音文件,能够控制断点上传会有较好的用户体验, 下面是我在这方面的一些实践经验,分享一下,不成熟的地方欢迎指正!
混合应用中的音频录制
首先创建一个Cordova项目:
cordova create Audio com.delaware.AudioDemo AudioDemo
cd Audio
cordova platform add ios
cordova platform add android
添加语音功能插件:
cordova plugin add cordova-media-with-compression
采用的音频格式为MPEG4, MPEG4是一个影音串流视讯压缩技术及商业标准格式,MPEG4之优势在于其压缩比(最大可达4000:1),低位元速率,较少之核心程式空间,加强运算功能,及强大之通讯应用整合能力,己成为影音数位视讯产业,最重要之功及标准格式, 后缀名字为.m4a
利用插件可以合理进行图片,比如可以设置压缩码率等等,具体方案我们看一实现代码:
录音:
// Record audio with compression
//
function recordCompressedAudio() {
var src = "myrecording.m4a";
var mediaRec = new Media(src,
// success callback
function() {
console.log("recordCompressedAudio():Audio Success");
},
// error callback
function(err) {
console.log("recordCompressedAudio():Audio Error: "+ err.code);
});
// Record MPEG compressed audio, single channel at 16kHz
var options = {
SampleRate: 16000,
NumberOfChannels: 1
}
mediaRec.startRecordWithCompression(options);
}
停止录制:
media.pauseRecord();
播放:(想要播放一个文件,需要先把录音release掉,否则无法播放)