audio如何监听缓存的状态?

2次阅读

现在要实现一个音乐的缓存条,现在实现的方法是

 var bufferInterval = setInterval(function(){
                        if (musicPl.readyState ===4){
                            that.musicStatus =(musicPl.buffered.end(0)/musicPl.duration);
                            if (musicPl.buffered.end(0)===musicPl.duration){
                                clearInterval(bufferInterval)
                            }
                        }
                    },100)

使用setInterval 重复获取缓存状态并赋值感觉,这样会浪费太多内存。
!!请问有没有什么addEventListener能够监听到audio的缓存状态。每当一缓存就可以监听到,从而获取到缓存状态
如果没有上面的代码对性能影响如何?

fuckoff

audio的oncanplay事件应该可以解决的。
还是说一定要等到全部缓存完才行?

spencerht

网速慢(用chrome使用fast 3G模式网速)的时候 musicPl.buffered.end(0) 会小于 musicPl.duration 而且不会更新

zhishaofei3

正文完