在我们做音乐类项目或者音频播放时,想要监听播放结束后执行自动播放下一首,或者是做其他的事情,当我们写
InnerAudioContext.onEnded(res => {
console.log("播放结束")
})
这时候第一次可能是调用一次,但是第二次调用2次 ,第三次6次或者更多次
这时候心里就想了,这***怎么回事,百思不得其解
经过我的不断测试
1、如果是你在全局创建了一次wx.createInnerAudioContext(),当你每一次播放完毕,就会出现上述问题
目前最好的解决办法:
不要全局创建,在你每次点击音乐的时候都创建一次
当你点击播放音乐的时候,判断一下
因为你第一次点击的时候,之前是没有创建实例的,你第二次点击,之前的就会销毁,不会影响创建新的实例
if(Object.keys(InnerAudioContext).length !== 0) {
就去销毁
}
wx.createInnerAudioContext()
如果你还是没有解决,欢迎下方留言