предварительная загрузка видео html5

Можно ли предварительно загрузить html-видео? Примечание: тег создается динамически позже.

В настоящее время я могу сделать это с изображениями, создав скрытый div и поместив туда все изображения. Затем, когда я создаю потребность позже, изображение не нужно перезагружать.

Когда это делается с тегом видео, браузер по-прежнему загружает видео с самого начала при создании элемента.

Я видел это: https://github.com/jussi-kalliokoski/html5Preloader.js , но, похоже, это не работает с видео. Любые идеи были бы хорошы!


person Adam    schedule 15.01.2012    source источник
comment
А как насчет атрибута preload="auto"?   -  person dfsq    schedule 16.01.2012
comment
Бретт, речь идет о видео, а не об изображениях.   -  person arxpoetica    schedule 30.05.2013


Ответы (2)


Попробуйте это:

<!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 Player и Предварительная загрузка JW Player

Нджой!!!

person GOK    schedule 24.07.2012

У меня была аналогичная проблема в IE, некоторые видео отображаются: нет, и когда я их показываю, 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;
}
person Elia Weiss    schedule 28.03.2013