收藏
回答

wx.createInnerAudioContext()反复停止再播放,出现多个音频同时播放?

wx.createInnerAudioContext()

class BgMusicPlayer {
  constructor() {
    this.backgroundAudioManager = wx.createInnerAudioContext({
      useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项
    })
  }
  // 播放音乐
  openMusic() {
    // 播放背景音乐
    this.backgroundAudioManager.src = bgMusic
    this.backgroundAudioManager.play()
    this.backgroundAudioManager.loop = true
    // 音乐播放结束后继续播放此音乐,循环不停的播放
    this.backgroundAudioManager.onPlay(() => {
      console.log('监听音乐开始播放')
    })
    this.backgroundAudioManager.onEnded(() => {
      console.log('监听音乐结束')
    })
    this.backgroundAudioManager.onStop(() => {
      console.log('监听音乐停止')
    })
  }
  // 停止音乐
  stopMusic() {
    this.backgroundAudioManager.src = ''
    this.backgroundAudioManager.stop()
  }
  // 暂停音乐
  pauseMusic() {
    this.backgroundAudioManager.pause()
  }
}


按钮控制播放停止,会出现多个音乐播放暂停的情况,,,这是怎么回事

回答关注问题邀请回答
收藏
登录 后发表内容