【微信小程序】InnerAudioContext.onTimeUpdate 不触发

2023-05-05 07:14

随机昵称 
2020-11-26提问者认为该回答有用
总结得出以下结论:

发生原因:由于音频加载导致 onUpdateTime 失效,(比如调用 seek的时候,触发了音频自动加载)

总结:(受楼上启发)由于使用 innerAudioContext.paused(比如:打印) 可以将onUpdateTime生效,所以只需要判断在什么情况下使用innerAudioContext.paused,由于每次音频加载完毕都会触发onCanPlay,所以加在此回调中即可

解决方案:innerAudioContext.onCanPlay(()=>{ console.log(innerAudioContext.paused) })

其它:楼上说在seek后加setTimeout(() => { console.log(innerAudioContext.paused) },100),也可以解决,由于seek后音频加载时间不固定,100毫秒内如果没有加载完毕,仍然无法触发onUpdateTime,所以加在onCanPlay中更加准确。


转自 InnerAudioContext.onTimeUpdate再次调用不触发