代码如下var video=$('.video-js');var allDuration=video[0].duration;var t2 = window.setInterval("checkLoading()",100);function checkLoading() { var allBuffered=video[0].buffered.end(0); for(var i=0;i<video.length;i++){ allBuffered += video[0].buffered.end(0); } if(allBuffered >= allDuration){//缓存完 }else{ var num=parseInt(allDuration/allBuffered); $(".loading .tips span").text(num); }}第一个问题就是缓存的进度video[0].buffered.end(0)我的视频是58.62s,但它好像缓存到17.92左右就一直不变了。第二个问题就是又是video[0].buffered.end(0)会报错:(index):256 Uncaught DOMException: Failed to execute 'end' on 'TimeRanges': The index provided (0) is greater than or equal to the maximum bound (0).求解,谢谢!
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
第一个问题不清楚,第二个解决方法如下:
在 获取video[0].buffered.end(0)前,先判断一下 video[0].buffered.length是不是大于 0
if(video[0].buffered.length != 0){
allBuffered += video[0].buffered.end(0);
}
添加回答
举报
0/150
提交
取消