Использование события 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);