欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序录音与播放录音功能

程序员文章站 2024-01-24 22:50:58
小程序中提供了两种录音的api 旧版录音功能 首先启动录音,然后停止录音即可拉到音频的临时地址 启动录音: var that = this; wx.s...

小程序中提供了两种录音的api

旧版录音功能

首先启动录音,然后停止录音即可拉到音频的临时地址

启动录音:

var that = this;
  wx.startrecord({
   success: function (res) {
    // 调用了停止录音接口就会触发这个函数,res.tempfilepath为录音文件临时路径
    var tempfilepath = res.tempfilepath
    that.setdata({
     src: tempfilepath
    })
   },
   fail: function (res) {
    //录音失败的处理函数
   }
  })

停止录音:

wx.stoprecord()

播放录音:

wx.playvoice({
 filepath: src // src可以是录音文件临时路径
})

新版录音

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

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

var that = this;
  this.recordermanager = wx.getrecordermanager();
  this.recordermanager.onerror(function(){
   // 录音失败的回调处理
  });
  this.recordermanager.onstop(function(res){
   // 停止录音之后,把录取到的音频放在res.tempfilepath
   that.setdata({
    src: res.tempfilepath 
   })
   console.log(res.tempfilepath )
  });

开始录音:

this.recordermanager.start({
   format: 'mp3' // 如果录制acc类型音频则改成aac
});

结束录音:

this.recordermanager.stop()

播放音频:

this.inneraudiocontext = wx.createinneraudiocontext();
  this.inneraudiocontext.onerror((res) => {
   // 播放音频失败的回调
  })
  this.inneraudiocontext.src = this.data.src; // 这里可以是录音的临时路径
  this.inneraudiocontext.play()

demo地址

github: https://github.com/yubang/appletrecorddemo

总结

以上所述是小编给大家介绍的微信小程序录音与播放录音功能,希望对大家有所帮助