微信小程序base64转mp3音频

onload(){
     //创建内部 audio 上下文 InnerAudioContext 对象。
    // this.innerAudioContext = wx.createInnerAudioContext();
    }
  // base64转mp3音频
  base64ChangeVideo(base64Data) {
    const audioPath = wx.env.USER_DATA_PATH + '/ordernew.mp3'
    const fs = wx.getFileSystemManager();
    let that = this;
    fs.writeFile({
      filePath: audioPath,
      data: base64Data,
      encoding: 'base64',
      success(res) {
        that.setData({
          src: audioPath
        })
        that.yuyinPlay();
      },
    })
  },
   // 播放语音
  yuyinPlay: function (e) {
    console.log("播放1", e);
    if (this.data.src == '' && this.data.isplay) {
      console.log("播放2", this.data.src, '222', this.data.isplay);
      return;
    }
    this.setData({
      msgText: 2, //正在对话`
      annimationFlag: true,
      haveflag: true
    })
    this.innerAudioContext.src = this.data.src; // 设置音频地址
    let _this = this;
    this.innerAudioContext.onError(function (res) {
      console.log("报错吗", res)
      _this.setData({
        msgText: 1, //初始化
        annimationFlag: false,
        haveflag: false,
        touchstart: false
      })
      // wx.showToast({
      //   title: '语音播放失败',
      //   icon: 'none',
      // })
    })
    this.innerAudioContext.onTimeUpdate(() => {
      // console.log('音频播放进度更新', this.data.src);
      // console.log('音频进度', this.innerAudioContext.src);
    });
    this.innerAudioContext.onEnded(() => { // 添加播放结束的回调
      console.log("播放结束")
      this.setData({
        msgText: 1, //初始化
        annimationFlag: false,
        haveflag: false,
        src: ""
      })
      // 在这里执行播放完毕后的操作,比如关闭语音
      this.innerAudioContext.stop(); // 使用 stop 方法停止音频并重置播放状态
    });
    this.innerAudioContext.play(); // 播放音频
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值