HTML5视频预加载解决方案

时间:2016-09-21 12:44:36

标签: javascript jquery html5

我正在创建一个包含一些动画的网站。其中之一是徽标动画。它被称为'lbv.mp4'。由于它有一些重量,因此自动播放存在延迟,因此我决定在满载时显示内容。

计划是:

  • 检查视频是否已加载
  • 启动视频
  • 向页面元素添加一个类以触发动画
  • setTimeout了解视频的长度,以便剪辑在下方打开静态图片{。}}。

以下代码对此进行了更好的描述:

visibility: hidden

唯一的问题是我无法使用纯JS,也不能使用JQuery。视频没有加载,没有给出类。在Safari,Chrome和Firefox中测试过。

所以最后一个问题是:'还有另一个让它变得更容易,或者如何修复我的解决方案?'

1 个答案:

答案 0 :(得分:0)

事件loadeddata表示:

  

媒体的第一帧已完成加载。

readyState === 4表示:

  

有足够的数据 - 且下载速度足够高 - 媒体可以不间断地播放到最后。

您有可能触发loadeddatareadyState不是4。 由于loadeddata仅触发一次,视频将无法播放。

您应该尝试添加日志以验证此假设。

我会尝试以下内容:

  • <video>autoplay
  • 一起使用
  • 收听视频上的playing事件以开始转换
  • 在视频中收听ended事件以隐藏它

属性,事件和readyState的参考: