Обратный вызов в процентах, буферизованных с использованием video.js - PullRequest
0 голосов
/ 10 апреля 2019

Как я могу создать функцию обратного вызова в случае, если видео (воспроизводимое с video.js), скажем, буферизовано на 50%?

Есть метод myPlayer.bufferedPercent (), который яиспользовался, как в приведенном ниже коде, который, кажется, работает, но обратный вызов явно был бы намного лучше.

function checkBuffered() {
    if (videoPlayer.bufferedPercent()*100 > 50){
      clearTimeout(bufferedTimeout);
      $("bufferingText").hide();
      $("instructionsText").show();
      $('#feedback_keyPress').html(videoPlayer.bufferedPercent()*100);
    }
    bufferedTimeout = setTimeout(checkBuffered, 1000 / FPS);
  }

Я позаимствовал скрипку , которая может помочь

1 Ответ

0 голосов
/ 10 апреля 2019

Согласно документам video.js, игрок уже запускает событие progress:

https://docs.videojs.com/player#event:progress

Событие progress происходит во время загрузки носителя. Для этого должно быть что-то вроде этого:

videoPlayer.on('progress', checkBuffered);

function checkBuffered () {
  var buffPerc = videoPlayer.bufferedPercent();
  // rest of your code without setTimeout/setInterval
}
...