微信小程序音频或视频拖动进度条时间不变解决方法

问题描述:

微信小程序在较新版本的音频接口中推荐使用InnerAudioContext对象实现音频的播放、暂停、跳转等功能,通过监听接口回调实现。
InnerAudioContext.onTimeUpdate(function callback)为监听播放进度更新的接口,在拖动进度条时或跳转播放后此回调不触发。

解决方案

将下面代码粘贴到onReady中,使当onWaiting触发后,立即调用play()触发播放函数

// 音频由于网络等原因等待中的回调
this.audioCtx.onWaiting(() => {
  that.audioCtx.pause() // 等待网络的时候音频暂停
  that.setData({
      waitFlag: true // 标明是onWaiting触发的暂停
  })

})

// 音频准备就绪的回调
this.audioCtx.onCanplay(() => {
  if (that.data.waitFlag) { // 如果是onWaiting触发的暂停,就立即播放
      that.audioCtx.play() // play()方法看上去能重新触发onTimeUpdate()回调
      that.setData({
          waitFlag: false // 取消相应的flag标志位
      })
  }
})

你可能感兴趣的:(微信小程序,微信小程序,音视频,小程序)