问题环境
全局生成了一个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()
我的播放了不能暂停
你好,我暂时没有遇到过这个问题;如果无法fix,可以在社区提问并且贴上代码片段。