美文网首页
微信小程序录音与播放录音

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

作者: yubang | 来源:发表于2017-12-24 22:53 被阅读3475次

    小程序中提供了两种录音的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

    相关文章

      网友评论

          本文标题:微信小程序录音与播放录音

          本文链接:https://www.haomeiwen.com/subject/zsohgxtx.html