audioRecorder
来自于:开发者立即使用
startRecord getVolume addEventListener resumeRecord pauseRecord stopRecord covertToMp3 getAttr
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
audioRecorder 模块通过封装系统的录音接口,能够快速的为开发者提供一个完整的录音功能。该模块提供Android和iOS版本,录音方式及录制的音频格式也依赖于相关系统。
- Android系统支持的录制音频格式为:amr、aac、3gp
- iOS 系统支持的录制音频格式为:aac、wav
startRecord
开始录音
startRecord({params}, callback(ret, err))
params
channel:
- 类型:数字
- 描述:(可选项)声道支持
- 默认:2
- 取值范围:
- 1 单声道
- 2 立体声道
sampleRates:
- 类型:数字
- 描述:(可选项)采样率
- 默认:16000
- 取值范围:
- aac 支持范围(8000 - 96000)
- amr 支持 8000、16000
- pcm 只支持 16000
savePath:
- 类型:字符串
- 描述:保存路径 (仅支持 fs://)
format:
- 类型:字符串
- 描述:(可选项)音频格式
- 取值范围:
- aac (支持Android 4.1+ & iOS)
- pcm (支持Android & iOS)
- amr (仅支持Android)
- 3gp (仅支持Android)
- caf (仅支持 iOS)
- wav (仅支持 iOS)
- acm (仅支持 iOS)
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
status : true // 布尔类型;是否录音成功
}
err:
- 类型:JSON对象
- 描述:错误信息
{
errCode : 0 // 数字类型;错误码,取值范围如下:
// 0 初始化失败
// 1 格式不支持
// 2 输出路径无效
// 3 未知错误
// 4 无麦克风访问权限,暂仅支持iOS平台
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.startRecord({
savePath:'fs://test.amr',
format:'amr'
}, function(ret, err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getVolume
获取当前/实时音量
getVolume(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
volume: 100 // 数字类型, 当前振幅
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.getVolume(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addEventListener
添加事件监听者
addEventListener({params},callback(ret))
params
name:
- 类型:字符串
- 描述:(可选项)要监听对象的名字。
- 取值范围:volume
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
volume: 100 // 数字类型, 当前振幅
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.addEventListener({
name: 'volume'
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pauseRecord
暂停录音,暂仅支持iOS端
pauseRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
status : true // 布尔类型;是否暂停成功
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.pauseRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本
resumeRecord
恢复录音,暂仅支持iOS端
resumeRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
status : true // 布尔类型;是否暂停成功
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.resumeRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本
stopRecord
停止录音
stopRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
status : true // 布尔类型;是否停止成功
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.stopRecord(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
covertToMp3
转换成Mp3
covertToMp3({params}, callback(ret))
params
channel:
- 类型:数字
- 描述:(可选项)声道支持
- 默认:2
- 取值范围:
- 1 单声道
- 2 立体声道
sampleRates:
- 类型:数字
- 描述:(可选项)采样率
- 默认:16000
originalFilePath:
- 类型:字符串
- 描述:要转化的音频文件路径 (仅支持 fs://)
mp3FilePath:
- 类型:字符串
- 描述:mp3音频文件路径 (仅支持 fs://)
quality:
- 类型:数字类型
- 描述:音频质量
- 默认:1
- 取值范围:(0 - 9)
提示
iOS平台仅支持wav,caf,acm,pcm格式,Android平台仅支持pcm格式。
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
status : true // 布尔类型;是否转换成功
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.covertToMp3({
channel: 2,
sampleRates: 16000,
originalFilePath: 'fs://recorder/123.wav',
mp3FilePath: 'fs://recorder/123.mp3'
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getAttr
获取文件属性(文件大小和音频时长)
getAttr({params}, callback(ret))
params
path:
- 类型:字符串类型
- 描述:音频的路径 (仅支持 fs://)
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
duration : 100000 // 数字类型;音频的时长;单位:ms
length : 6434734 // 数字类型;文件大小;单位:byte
}
示例代码
var audioRecorder = api.require('audioRecorder');
audioRecorder.getAttr({
path: 'fs://recorder/123.mp3'
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本