mp3Recorder
来自于:开发者立即使用
addEventListener startRecord stopRecord openVoiceLine closeVoiceLine setDecibels pauseRecord resumeRecord
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
mp3Recorder 模块概述
mp3Recorder模块封装在iOS、Android下录音直接生成mp3,统一2个平台的录音生成文件,方便双平台之间的交互,减少录音完成后再转码的过程;同时提供分贝波形图显示UI。
固件要求
Android:4.0及以上 iOS:8.0及以上
模块接口
addEventListener
视频结果和声音分贝监听
addEventListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
evenType : 'endRecord'//录制结束:endRecord
//分贝值:Decibels
data:{
path : '',//录音的文件
duration : 1000,//时长(毫秒)
},
decibel : 11 //分贝值(范围:0-60)
}
示例代码
var demo = api.require('mp3Recorder');
demo.addEventListener(function(ret, err){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
startRecord
开始录音
startRecord({params}, callback(ret,err))
params
channel:
- 类型:数字型
- 描述:(可选项)声道支持:1 单声道 2 立体声道。
- 默认值:2
sampleRates:
- 类型:数字型
- 描述:(可选项)采样率。(8000/44100/96000)
- 默认值:44100
isDefaultToSpeaker:
- 类型:布尔型
- 描述:(可选项)限定录制声音时是否限定扬声器进行播放音频。
- 默认值:false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.startRecord({
channel: 2,//声道支持:1 单声道 2 立体声道
sampleRates : 44100,//采样率
},function(ret, err){
alert(JSON.stringify(ret)+" "+JSON.stringify(err));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopRecord
停止录音
stopRecord(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.stopRecord();
可用性
iOS、Android系统
可提供的1.0.0及更高版本
openVoiceLine
显示线性波形图
openVoiceLine({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(必填项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 250 //(必填项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
}
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
isTransparent:
- 类型:布尔型
- 描述:(可选项)背景是否透明(透明时可以穿透点击视图)。
- 默认值:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true
}
示例代码
var demo = api.require('mp3Recorder');
demo.openVoiceLine({
rect : {
x : 0,
y : 0,
w : api.frameWidth,
h : api.frameHeight/3
},
fixedOn : api.frameName,
fixed : true,
isTransparent : false
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
closeVoiceLine
关闭线性波形图
closeVoiceLine(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.closeVoiceLine(function(ret, err){
alert(JSON.stringify(ret) + " " +JSON.stringify(err));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setDecibels
设置波形图的分贝值
setDecibels({params}, callback(ret,err))
params
decibel:
- 类型:浮点型
- 描述:(可选项)分贝值,范围0-60
- 默认值:1.0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.setDecibels({
decibel : 12.33
},function(ret,err){
alert(JSON.stringify(ret,err));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
pauseRecord
暂停录音
pauseRecord(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.pauseRecord();
可用性
iOS、Android系统
可提供的1.0.5及更高版本
resumeRecord
恢复录音
resumeRecord(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg : ''
}
示例代码
var demo = api.require('mp3Recorder');
demo.resumeRecord();
可用性
iOS、Android系统
可提供的1.0.5及更高版本