wx.startRecord
时间: 2023-10-02 13:12:25 浏览: 38
wx.startRecord 是微信小程序中用于开始录音的 API。该 API 的使用方法如下:
1. 首先在小程序页面中引入该 API:
```
const recorderManager = wx.getRecorderManager();
```
2. 调用 wx.getRecorderManager() 方法获取录音管理器对象 recorderManager。录音管理器对象 recorderManager 可以用于控制录音的开始、暂停、继续、停止等操作。
3. 调用 recorderManager.start() 方法开始录音。该方法接受以下参数:
- 参数名:duration,类型:Number,非必填项,表示录音的时长,单位为毫秒,默认为60秒。
- 参数名:sampleRate,类型:Number,非必填项,表示录音的采样率,单位为Hz,默认为44100Hz。
- 参数名:numberOfChannels,类型:Number,非必填项,表示录音的声道数,1表示单声道,2表示双声道,默认为1。
- 参数名:encodeBitRate,类型:Number,非必填项,表示录音的编码码率,单位为kbps,默认为48000kbps。
4. 在录音开始后,可以调用 recorderManager.onFrameRecorded 方法在录音过程中实时获取录音帧数据。该方法接受一个回调函数,每当有新的录音帧数据时就会调用该回调函数。
5. 当录音完成后,可以调用 recorderManager.stop() 方法停止录音。该方法会返回录音文件的临时路径 tempFilePath。
示例代码如下:
```
const recorderManager = wx.getRecorderManager();
recorderManager.onStart(() => {
console.log('recorder start')
});
recorderManager.onPause(() => {
console.log('recorder pause')
});
recorderManager.onResume(() => {
console.log('recorder resume')
});
recorderManager.onStop((res) => {
console.log('recorder stop', res)
const { tempFilePath } = res
});
recorderManager.onFrameRecorded((res) => {
const { frameBuffer } = res
console.log('frameBuffer.byteLength', frameBuffer.byteLength)
})
recorderManager.start({
duration: 10000,
sampleRate: 44100,
numberOfChannels: 1,
encodeBitRate: 48000
});
```