HTML5视频预加载

15

是否有可能预加载html视频?注意:video标记稍后动态创建。

目前,我可以通过创建隐藏的div并将所有图像放在其中来预加载图像。然后稍后创建需要时,图像不需要重新加载。

当使用video标记进行此操作时,浏览器仍会从开头加载视频,即使该元素已经被创建。

我看到了这个:https://github.com/jussi-kalliokoski/html5Preloader.js,但它似乎无法处理视频。任何想法都将不胜感激!


preload="auto" 属性怎么样? - dfsq
你可能想在这里查看:https://dev59.com/B3RB5IYBdhLWcg3w4bOv - Brett H
Brett,这是关于视频,而不是图片。 - arxpoetica
2个回答

6

试试这个:

<!DOCTYPE html>
<html>
<body>

<video width="320" height="240" controls="controls" **preload="auto"**>
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.webM" type="video/webM" />
  Your browser does not support the video tag.
</video>

</body>
</html>

注意:这不适用于IE浏览器; ),对于此问题,可以使用某些播放器(只需包含.js文件)。它们有一个flash的回退选项供IE使用。JW PlayerJW Player Preload可供选择。
享受吧!

0

我在IE中遇到了类似的问题,一些视频被设置为display:none,当我显示它们时,IE不会显示第一帧...

我使用了以下代码来解决这个问题, 当我显示隐藏的视频时,我调用preloadAllVisible()

var preloadAllVisible = function() {
    $("video:visible").each(preload);
}
var preload = function(key, vid) {
    vid.play(); 
    setTimeout("pausevid("+key+")",100);
}

var pausevid = function(key) {
    vid =$("video:visible")[key];
    vid.pause();
    vid.currentTime = 0;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接