评论

小程序[InnerAudioContext]不报错、 不播放BUG要如何解决?

InnerAudioContext组件不报错、没声音BUG解决方法

问题环境

全局生成了一个innerAudioContext实例,每次赋值src然后play()

问题描述

有时候音频播放无声音

解决思路

排错

注册监听方法,查看哪里出错

innerAudioContext.onCanplay(() => {
  console.log('can play')
})
innerAudioContext.onPlay(() => {
  console.log('play')
})
innerAudioContext.src = http://xxxxx
// await wepy.downloadFile({ url: innerAudioContext.src })
console.log(innerAudioContext.src)
innerAudioContext.play()

下面是log结果,0、1、2的时候完全没有声音;3的时候经过不完全测试前两次是好的,后面就会没有声音

// type 0
http://xxxxx

// type 1
http://xxxxx
play

// type 2
http://xxxxx
can play

// type 3
http://xxxxx
play
can play

解决办法

看上面的log,不播放声音的情况是比较复杂的。我的判断是同一个实例导致的问题,经过验证还是会有bug(验证方法就是每次进来new实例,然后添加onEnded监听,在onEnded的时候调用destroy());同事的第一反应是加载问题,于是我试了一下,的确能够解决。

innerAudioContext.src = http://xxxxx
await wepy.downloadFile({ url: innerAudioContext.src })
innerAudioContext.play()
点赞 3
收藏
评论

1 个评论

  • 孤独作伴
    孤独作伴
    2019-04-15

    我的播放了不能暂停

    2019-04-15
    赞同
    回复 2
    • 给窝一个口罩
      给窝一个口罩
      2019-04-28

      你好,我暂时没有遇到过这个问题;如果无法fix,可以在社区提问并且贴上代码片段。

      2019-04-28
      回复
    • L-全
      L-全
      2023-09-23回复给窝一个口罩
      await wepy.downloadFile({ url: innerAudioContext.src })  wepy干嘛的
      2023-09-23
      回复
登录 后发表内容