《微信小程序开发从入门到实战》学习七十九

发布时间:2024年01月12日

6.10 录音API

6.10.1?录音API的补充

采样率sampleRate有对应的编码码率,设置不合法的采样率或编码率会导致录音失败,具体对应关系如下示:

采样率? ? ? ? 编码码率

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

6.10.3 录音事件监听API

在录音管理器上可设置一些录音事件监听函数。在录音过程的特定事件发生时可执行一些操作。示例代码如下:

????//?监听录音开始事件

????const?recorderManager?=?wx.getRecorderManager()

????//?监听录音开始事件

????recorderManager.onStart(function()?{

??????console.log('Record?start')

????})?

????//?监听录音暂停事件

????recorderManager.onPause(function()?{

??????console.log('Record?pause')

????})

????//?监听录音继续事件

????recorderManager.onResume(function()?{

??????console.log('Record?resume')

????})

????//?监听录音结束事件

????recorderManager.onStop(function()?{

??????console.log('Record?stop')

????})

????//?监听录音错误事件

????recorderManager.onError(function(res)?{

??????console.log(res.errMsg)

????})

????//?监听已录制完指定帧大小的文件事件,如果设置了frameSize,则会回调此事件

????recorderManager.onFrameRecorded(function(res)?{

??????console.log(res.frameBuffer)?//?录音分片数据

??????console.log(res.isLastFrame)?//?当前帧是否是正常录音结束前的最后一帧?

????})

????//?基础库2.3.0开始支持

????//?监听录音因为系统占用而被中断开始事件

????//?微信语音聊天和微信视频聊天会触发此事件

????//?此事件触发后,录音会被暂停,因此pause事件会在此事件后触发

????recorderManager.onInterruptionBegin(function()?{

??????console.log('Record?interruption?begin')?

????})

????//?基础库2.3.0开始支持

????//?监听录音因为系统占用而被中断结束事件

????//?在收到interruptionBegin事件之后,小程序内所有录音会暂停,收到此事件后才可再次录音成功

????recorderManager.onInterruptionEnd(function()?{

??????console.log('Record?interruption?end')?

????})

文章来源:https://blog.csdn.net/xy2937131682/article/details/135541250
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。