preload.js - предварительная загрузка большого количества видеофайлов - сбой некоторых компьютеров

Я провожу веб-эксперимент, в котором люди должны просматривать 100 видеороликов продолжительностью 2 секунды (каждый размером около 200 КБ) одно за другим. Очень важно, чтобы между видео не было лагов, поэтому я предварительно загружаю их до того, как эксперимент начнет использовать preload.js. Эксперимент начинается, когда все видео загружены на 100%.

Тем не менее, это проблематично для некоторых людей, которые говорят, что предварительная загрузка вызывает сбой их браузеров. Я предполагаю, что это из-за проблемы с ОЗУ?

Что может быть хорошим способом решения этой проблемы? Является ли загрузка видео таким способом плохой практикой (сколько данных я могу безопасно предварительно загрузить)?

1 ответ

Решение

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

Другая стратегия заключается в постепенной загрузке следующего видео в группе в начале текущего видео и его воспроизведении, когда onended событие было запущено.

Вот некоторый псевдокод, который может помочь вам начать:

  var loadNext, videoGetTime;

  videoGetTime = function(ele, callback) {
    var loading, video;
    video = $(ele);
    loading = false;

     video.on('timeupdate', function(e) {
      var currentTime;
      currentTime = e.originalEvent.target.currentTime;
      if (currentTime >= (video[0].duration / 2) && !loading) {
        callback();
        loading = true;
      }
    });
  };

  loadNext = function() {
       alert('loading next');
  };

  videoGetTime('#video', loadNext);

а потом

video.on('ended', function(e){
     //play the next video in the set
}); 
Другие вопросы по тегам