
wx.startRecord(Object object)
开始录音。
当主动调用 wx.stopRecord,或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。
从基础库 1.6.0 开始,本接口停止维护,请使用 wx.getRecorderManager 代替。
wx.getRecorderManager()
获取全局唯一的录音管理器 RecorderManager。
方法:
RecorderManager.start(Object object):开始录音。
RecorderManager.pause():暂停录音。
RecorderManager.resume():继续录音。
RecorderManager.stop():停止录音。
RecorderManager.onStart(function callback):监听录音开始事件。
RecorderManager.onResume(function callback):监听录音继续事件。
RecorderManager.onPause(function callback):监听录音暂停事件。
RecorderManager.onStop(function callback):监听录音结束事件。
RecorderManager.onFrameRecorded(function callback):监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。
RecorderManager.onError(function callback):监听录音错误事件。
RecorderManager.onInterruptionBegin(function callback):监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发。
RecorderManager.onInterruptionEnd(function callback):监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。
实际演示:
新建“test”页面,在“test.wxml”中写入如下代码(图75-1),在“test.js”中写入如下代码(图75-2)。
图75-1图75-2效果如下(图75-3):
图75-3官方示例代码:
const recorderManager = wx.getRecorderManager()
recorderManager.onStart(()=>{
console.log('recorder start')
})
recorderManager.onPause(()=>{
console.log('recorder pause')
})
recorderManager.onStop((res)=>{
console.log('recorder stop', res)
const{ tempFilePath }= res
})
recorderManager.onFrameRecorded((res)=>{
const{ frameBuffer }= res
console.log('frameBuffer.byteLength', frameBuffer.byteLength)
})
const options ={
duration:10000,
sampleRate:44100,
numberOfChannels:1,
encodeBitRate:192000,
format:'aac', frameSize:50
}
recorderManager.start(options)