完全加载后播放html5视频

时间:2016-07-09 22:25:43

标签: html html5 video progress preload

我正在寻找一种在HTML视频满载后播放的方法。我尝试在视频缓冲完成后获得反馈,但它确实无效。这是我的代码:

var player = document.getElementById('bgvid');
player.addEventListener("progress", function() {
  console.log("1");
  if (player.buffered.length > 0) {
    console.log("2");
    var bufferedEnd = player.buffered.end(player.buffered.length - 1);
    var duration = player.duration;
    console.log(duration);
    if (duration > 0) {
      console.log((bufferedEnd / duration) * 100);
    }
  }
});

我只得到" 1"在控制台上,所以即使在" auto"上使用preload属性,buffer.length也永远不会传递零。唯一不同的是autoplay属性。当我打开时,我得到控制台中显示的缓冲区的百分比,但如果我暂停视频,它会再次停止缓冲。

提前感谢您的任何想法。

2 个答案:

答案 0 :(得分:0)

您可以使用canplaythrough事件来检查视频是否已完全缓冲(即:已加载)。

我希望这就是你要找的,祝你好运。

答案 1 :(得分:0)

在@Offbeatmammal的帮助下,我设法解决了我的问题。答案在这里:Another: Force Chrome to fully buffer mp4 video。感谢大家的回答:D