视频无法预加载,错误Chrome和Firefox

时间:2016-06-28 23:12:36

标签: javascript jquery google-chrome firefox

我不得不点击播放来查看控制台中的缓冲区值。 我试图将视频的加载放在我的代码的开头,但它不起作用。 如果我无法动态恢复缓冲区的值,我如何验证视频加载的百分比以触发操作? 谢谢你的帮助。

的jQuery

    video.load();
    .bind('progress updateMediaState', function ()
    {
        var bufferedFinal = video.buffered.end(0);  // line 304
        var bufferedPercent = (bufferedFinal / duration) * 100;
        console.log(bufferedPercent); // give me value when I click on play only
        if ( bufferedPercent >= 10 )
        {
            $("#loading").css("display", "none");
        }
    })

  

player.js:304 Uncaught IndexSizeError:无法在'TimeRanges'上执行'end':提供的索引(0)大于或等于最大边界(0)。

火狐

  

IndexSizeError:索引或大小为负数或大于允许的数量

1 个答案:

答案 0 :(得分:0)

看起来您正试图在没有范围的TimeRanges对象上找到索引0处的偏移量。在此之前,请检查缓冲区是否包含内容:

if (!buffered || !buffered.length) {
    return;
}

var bufferedFinal = video.buffered.end(0);
...