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

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')

})

相关推荐
小陈phd12 分钟前
多模态大模型学习笔记(四十八)——从自然语言到 SQL:大模型时代结构化数据查询的技术革命与落地实践
笔记·sql·学习
星夜夏空991 小时前
FreeRTOS学习(12)——任务通知
学习·性能优化
AOwhisky1 小时前
学习自测(MySQL系列第一期、第二期)
linux·运维·数据库·学习·mysql·云计算
星夜夏空992 小时前
FreeRTOS学习(10)——消息队列
学习
星幻元宇VR2 小时前
消防安全教育体验展厅设备【模拟灭火系统】
科技·学习·安全
RD_daoyi3 小时前
Google SEO第三周:网站站内基础优化——决定排名快慢的核心基建
大数据·人工智能·学习·搜索引擎·百度·googlecloud
MartinYeung53 小时前
[论文学习]大型语言模型的安全性、安全与隐私问题综述:核心挑战、攻击防禦与未来方向分析
人工智能·学习·安全·语言模型
Ricky05533 小时前
基于对比学习的卫星影像目标检测领域适应方法(2024年美国研究)
人工智能·学习·目标检测
梦073 小时前
学习笔记-ClaudeCode快速安装配置上手
笔记·学习
段一凡-华北理工大学3 小时前
工业领域的Hadoop架构学习~系列文章12:Hadoop集群监控与运维
大数据·人工智能·hadoop·学习·架构·高炉炼铁·高炉炼铁智能化