startRecord
该 API 使用方法为 wx.startRecord(Object object)
功能说明:开始录音。当主动调用 wx.stopRecord,或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。
参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数参数:Object res。
属性 | 类型 | 说明 |
tempFilePath | string | 录音文件的临时路径 (本地路径) |
示例代码
wx.startRecord({success (res) {const tempFilePath = res.tempFilePath}})setTimeout(function () {wx.stopRecord() // 结束录音}, 10000)
stopRecord
该 API 使用方法为 wx.stopRecord(Object object)
功能说明:停止录音。
参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
wx.startRecord({success (res) {const tempFilePath = res.tempFilePath}})setTimeout(function () {wx.stopRecord() // 结束录音}, 10000)
getRecorderManager
该 API 使用方法为 RecorderManager wx.getRecorderManager()
功能说明:获取全局唯一的录音管理器 RecorderManager。
返回值:RecorderManager。
RecorderManager
.onError
该 方法 使用方式为 RecorderManager.onError(function listener)
功能说明:监听录音错误事件。
参数及说明:function listener,录音错误事件的监听函数。Object res 参数。
属性 | 类型 | 说明 |
errMsg | string | 错误信息 |
.onFrameRecorded
该 方法 使用方式为 RecorderManager.onFrameRecorded(function listener)
功能说明:监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。
参数及说明:function listener,已录制完指定帧大小的文件事件的监听函数。Object res 参数。
属性 | 类型 | 说明 |
frameBuffer | ArrayBuffer | 录音分片数据 |
isLastFrame | boolean | 当前帧是否正常录音结束前的最后一帧 |
.onInterruptionBegin
该 方法 使用方式为 RecorderManager.onInterruptionBegin(function listener)
功能说明:监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发。
参数及说明:function listener,录音因为受到系统占用而被中断开始事件的监听函数。
.onInterruptionEnd
该 方法 使用方式为 RecorderManager.onInterruptionEnd(function listener)
功能说明:监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。
参数及说明:function listener,录音中断结束事件的监听函数。
.onPause
该 方法 使用方式为 RecorderManager.onPause(function listener)
功能说明:监听录音暂停事件。
参数及说明:function listener,录音暂停事件的监听函数。
.onResume
该 方法 使用方式为 RecorderManager.onResume(function listener)
功能说明:监听录音继续事件。
参数及说明:function listener,录音继续事件的监听函数。
.onStart
该 方法 使用方式为 RecorderManager.start(Object object)
功能说明:监听录音开始事件。
参数及说明:function listener,录音开始事件的监听函数。
.onStop
该 方法 使用方式为 RecorderManager.onStop(function listener)
功能说明:监听录音结束事件。
参数及说明:function listener,录音结束事件的监听函数。Object res 参数。
属性 | 类型 | 说明 |
tempFilePath | string | 录音文件的临时路径 (本地路径) |
duration | number | 录音总时长,单位:ms |
fileSize | number | 录音文件大小,单位:Byte |
.pause
该 方法 使用方式为 RecorderManager.pause()
功能说明:暂停录音。
.resume
该 方法 使用方式为 RecorderManager.resume()
功能说明:继续录音。
.start
该 方法 使用方式为 RecorderManager.start(Object object)
功能说明:开始录音。
参数及说明:Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
duration | number | 60000 | 否 | 录音的时长,单位 ms,最大值 600000(10 分钟) |
sampleRate | number | 80000 | 否 | 采样率(pc不支持) |
numberOfChannels | number | 2 | 否 | 录音通道数 |
encodeBitRate | number | 48000 | 否 | 编码码率,有效值见下表格 |
format | string | aac | 否 | 音频格式 |
frameSize | number | - | 否 | 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式 |
audioSource | string | auto | 否 | 指定录音的音频输入源 |
采样率与编码码率限制
每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。
采样率 | 编码码率 |
8000 | 16000 ~ 48000 |
11025 | 16000 ~ 48000 |
12000 | 24000 ~ 64000 |
16000 | 24000 ~ 96000 |
22050 | 32000 ~ 128000 |
24000 | 32000 ~ 128000 |
32000 | 48000 ~ 192000 |
44100 | 64000 ~ 320000 |
48000 | 64000 ~ 320000 |
.stop
该 方法 使用方式为 RecorderManager.stop()
功能说明:暂停录音。