Как я могу обновлять время каждого видео? - PullRequest
0 голосов
/ 10 февраля 2020

В javascript HTMLMediaElement: событие timeupdate, есть ли способ получить каждый time_update_event?

https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/timeupdate_event

1 Ответ

1 голос
/ 10 февраля 2020

Использование события timeupdate:
Это даст вам события от 4 до 66 раз в секунду .

const videoTimeUpdateHandler = function (e) {
  e.currentTime // the current time
}

const videoElement = document.getElementById('video'); // or `new Video()`
videoElement.addEventListener('timeupdate', videoTimeUpdateHandler);

Опрос вручную медиаэлементы currentTime с желаемой частотой:
Если вы хотите, чтобы события имели более высокую частоту, чем дает пользовательский агент, вручную опишите свойство currentTime медиаэлементов, например, так:

const videoCurrentTimeIntervalHandler = function (currentTime) {
  currentTime // the current time
}

const videoElement = document.getElementById('video'); // or `new Video()`
const videoCurrentTimeInterval = setInterval(videoCurrentTimeIntervalHandler(videoElement.currentTime), 50); // here we poll the currentTime property every 50ms

Дон не забудьте удалить прослушиватель событий или очистить интервал следующим образом:

videoElement.removeEventListener('timeupdate', videoTimeUpdateHandler);

или

clearInterval(videoCurrentTimeInterval);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...