У меня возникла проблема с моим видеопроигрывателем, когда продолжительность видео, возвращенная из HTMLMediaElement.duration , не соответствует. Я настроил следующего слушателя, чтобы помочь проиллюстрировать:
video.addEventListener('timeupdate', function(e) {
console.log('Duration: ' + video.duration);
if ( video.currentTime === video.duration ) {
console.log( video.currentTime + ' === ' + video.duration )
}
});
Когда я ищу весь конец видео, это событие возвращает другое (более точное) значение. Ниже я приведу пример моих журналов:
Duration: NaN
Duration: 135.8357
Duration: 135.8357
Duration: 135.8357
Duration: 135.8357
Duration: 135.8357
Duration: 135.8357
...
.. Я стремлюсь к концу видео ..
...
Duration: 135.8357
135.8357 === 135.8357
Duration: 135.952833
Я ищу весь путь до конца видео, текущее время равно длительности, а затем продолжительность обновляется до другого времени. Поиск до конца видео не вызывает событие ended
(если только видео не возобновляется и не достигает новой конечной точки 135.952833
).
Есть ли у кого-нибудь понимание этой проблемы или мысли о возможном решении?