微信小程序录音与播放

微信小程序录音与播放

录音

  • 小程序中提供了两种录音的API,旧版已经不在维护,这里我们介绍新版本

wx.getRecorderManager()

  • 获取全局唯一的录音管理器,然后录音都依赖他,而播放录音则需要内部 audio 上下文 innerAudioContext 对象。

获取全局唯一的录音管理器:

const rm = wx.getRecorderManager(); // 创建全局唯一的录音管理器实例
rm.onError((err) => {
      // 录音失败的回调处理
	  console.log(err);
    });
rm.onStop((res) => {
      // 停止录音之后,把录取到的音频放在res.tempFilePath
      this.setData({
        src: res.tempFilePath 
      })
      console.log(res.tempFilePath )
    });

开始录音:

console.log("录音开始")
const options = {
	duration: 60000, //录音的时长,单位 ms
	sampleRate: 44100, //采样率
	numberOfChannels: 1, //录音通道数
	encodeBitRate: 192000, //编码码率
	format: 'mp3', //音频格式
	frameSize: 50 //指定帧大小,单位 KB
}
rm.start(options)

结束录音:

console.log("录音结束");
rm.stop()

播放音频:

let myaudio = wx.createInnerAudioContext(); // 创建audio对象
myaudio.onError((res) => {
	// 播放音频失败的回调
	console.log(res)
})
myaudio.src = this.data.src;  // 这里可以是录音的临时路径
myaudio.play();
posted @   懒惰ing  阅读(1958)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示