Как я могу остановить предварительную загрузку видео (HTML5 - Javascript) - PullRequest
1 голос
/ 02 августа 2010

У меня есть веб-страница с видеоплеером, загружающим 3 видео (низкое, среднее и высокое качество одного и того же видео).Затем, когда пользователь нажимает на одну кнопку, соответствующую желаемой версии, видео открывается.

Что я хотел бы сделать, это прекратить предварительную загрузку двух других видео.

Возможно ли это?Другими словами, может ли атрибут "preload" тега HTML5 Video быть отменен или остановлен на лету с помощью некоторого Javascript?

Ответы [ 3 ]

4 голосов
/ 28 августа 2011

Я только что нашел решение для моей проблемы, которая напоминает вашу собственную.Я предварительно загружаю список фильмов на своей странице в серии, но мне нужно иметь возможность перейти к одному из них и расставить приоритеты перед тем, что уже могло быть предварительно загружено, чтобы воспроизвести его как можно быстрее.*

У меня есть элемент prebuffer для div #, который содержит предварительно загруженные видео, так как они буферизируются.Когда мне нужно забыть о предварительной загрузке, я просто делаю это:

var $video = $('#prebuffer video:last');
$video.find('source').attr('src', '');
$video[0].load();
// it has now stopped preloading.
// and then, because I don't want this half-loaded broken cruft hanging around:
$video.remove();

Это немного уродливо, но я не смог найти более приятного пути.И это делает работу.

3 голосов
/ 05 августа 2010

С помощью jQuery вы можете попробовать:

$('#videoPlayerId').removeAttr('preload');

Я не знаю, что это остановит видео, которое уже загружается.

С точки зрения пользовательского интерфейса, почему вы пытаетесь предварительно загрузить все 3 видео одновременно? Это замедлит скорость загрузки всех трех; если вы предварительно загрузите только один из них, еще больше видео сможет буферизоваться до того, как пользователь начнет его просматривать.

Я бы предложил предварительно загрузить одно из видео по умолчанию и загружать видео другого качества, только если пользователь выберет его. Это поведение используется YouTube, Netflix и др.

0 голосов
/ 28 октября 2017

В настоящее время есть выделенный тег:

<video preload="none" ....>
...