微信小程序> 微信小程序完美解决wx.createInnerAudioContext()坑

微信小程序完美解决wx.createInnerAudioContext()坑

浏览量:680 时间: 来源:caoyan0829

我刚开始用wx.createInnerAudioContext(),是将此方法写在了我的播放语音函数里,发现怎么暂停和取消都不好使

经过踩坑,得出结论!!!

1.将此方法声明在onLoad中,(如果声明在page外部,每次进此页面执行语言操作都会多次执行。)

 

2.将api方法也都声明在onLoad中(不需要一直去创建回调事件)

 3.播放语言操作

  /**   * 播放音频   */  playAudio(e) {    const _this = this;    wx.stopVoice()    showToast('text', '播放中', {      duration: 120 * 1000,      mask: true    })    let audio = e.currentTarget.dataset.audio;    let audioSave = _this.data.audioSave;    console.log('audio:',audio.name,'  audioSave:',audioSave)    if (audio.ext === 'mp3') { // 小程序发送的      this.data.audioContext.src = audio.url    } else {      this.data.audioContext.src = audio.mp3Url    }    if (audio.name == audioSave) {      console.log('播放同一个语音,将其暂停')      this.data.audioContext.pause();      //初始化      this.setData({        audioSave: ''      })    } else{      //不是同一个语音 直接播放其它,将此次语音记录      this.data.audioContext.play()      this.setData({        audioSave: audio.name      })    }  },

 

 

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎