getAuthorizationStatus requestAuthorization startRecord getVolume addVolumeListener resumeRecord pauseRecord stopRecord getAttr clearCache
recordForMP3 插件通过封装系统的录音接口,能够快速的为开发者提供一个完整的录音功能。由于系统限制,iOS端不支持录制MP3格式音频。本插件最大的特点是支持边录制边转换的功能,比边录制完成后统一转换带来的耗时问题。 在iOS端,开始录音后插件开始录制系统支持的格式的音频,同时开启子线程执行转码操作。录音完成后,转码也会相继结束。极大的提高获取mp3格式音频的效率。
android端so库仅支持 armeabi-v7a & arm64-v8a, 需在config.xml中进行指定,详情请参阅[配置支持的CPU设备类型](/docs/Technical-Topics/Introduction-Config-Config_Xml)
查看是否有麦克风访问权限(仅ios支持, android 调用api.hasPermission()进行判断)
getAuthorizationStatus(callback(ret))
ret:
{
status: // 字符串类型;授权状态,取值范围如下:
// notDetermined 没有询问是否开启麦克风访问权限
// restricted 未授权家长限制
// denied 用户拒绝
// authorized 已授权
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.getAuthorizationStatus(function(ret){
api.alert({msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
请求访问麦克风权限 (仅ios支持;android调用 api.requestPermission()去请求权限)
requestAuthorization(callback(ret))
ret:
{
granted: // 布尔类型;是否授权成功
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.requestAuthorization(function(ret){
api.alert({msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开始录音
startRecord({params}, callback(ret, err))
channel:
sampleRates:
format:
savePath:
ret:
{
status : true // 布尔类型;是否录音成功
}
err:
{
msg:, //字符串类型;错误信息
code : //数字类型;错误码
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.startRecord({
savePath:'fs://test.amr',
format:'amr'
}, function(ret, err {
api.alert({msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取当前/实时音量
getVolume(callback(ret))
ret:
{
volume: 100 // 数字类型, 当前音量
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.getVolume(function(ret){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
添加音量监听者
addVolumeListener(callback(ret))
ret:
{
volume: 100 // 数字类型,当前音量
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.addVolumeListener(function(ret){
console.log(JSON.stringify(ret));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
暂停录音,仅支持 iOS 端
pauseRecord()
var recordForMP3 = api.require('recordForMP3');
recordForMP3.pauseRecord();
iOS 系统
可提供的 1.0.0 及更高版本
恢复录音,暂仅支持iOS端
resumeRecord()
var recordForMP3 = api.require('recordForMP3');
recordForMP3.resumeRecord();
iOS 系统
可提供的1.0.0及更高版本
停止录音
stopRecord(callback(ret))
ret:
{
mp3Path:'', //字符串类型;mp3文件路径
sourcePath:'' //字符串类型;源文件路径 (android不会产生中间文件会直接生成MP3文件,因此android没有该参数)
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.stopRecord(function(ret){ api.alert({msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取文件属性(文件大小和音频时长)
getAttr({params}, callback(ret))
path:
ret:
{
duration : 100000 // 数字类型;音频的时长;单位:ms
length : 6434734 // 数字类型;文件大小;单位:byte
}
var recordForMP3 = api.require('recordForMP3');
recordForMP3.getAttr({
path: 'fs://recorder/123.mp3'
}, function(ret) {
api.api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清除缓存目录
clearCache({params})
path:
var recordForMP3 = api.require('recordForMP3');
recordForMP3.clearCache({
path: 'fs://recordForMP3'
});
iOS系统,Android系统
可提供的1.0.0及更高版本