完全加载后播放 html5 视频

play html5 video after fully loaded

我正在寻找一种在完全加载后播放 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”,所以 buffer.length 即使在 "auto" 上设置了 preload 属性也永远不会超过零。唯一有所不同的是自动播放属性。当打开时,我得到控制台中显示的缓冲区百分比,但如果我暂停视频,它会再次停止缓冲。

提前感谢您的任何想法。

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

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

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