猿问

video 缓存进度

代码如下

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).

求解,谢谢!


素胚勾勒不出你
浏览 1814回答 1
1回答

牧羊人nacy

第一个问题不清楚,第二个解决方法如下:在 获取video[0].buffered.end(0)前,先判断一下 video[0].buffered.length是不是大于 0&nbsp; &nbsp; if(video[0].buffered.length != 0){&nbsp; &nbsp; &nbsp; &nbsp; allBuffered += video[0].buffered.end(0);&nbsp; &nbsp; }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答