Вопрос:

Несовместимая длительность HTMLMediaElement

javascript video javascript-events html5-video hls.js

90 просмотра

1 ответ

33 Репутация автора

У меня возникла проблема с моим видеопроигрывателем, когда продолжительность видео, возвращенная из 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).

Есть ли у кого-нибудь понимание этой проблемы или мысли о возможном решении?

Автор: KGraber Источник Размещён: 01.11.2018 03:45

Ответы (1)


0 плюса

22 Репутация автора

У меня была точно такая же проблема, но с аудио-элементом. При поиске в конечной точке аудио durationchangeсобытие постоянно срабатывало, audio.durationменялось несколько секунд.

Оказалось, проблема с источником звука. Вот скрипка проблемного аудио: https://jsfiddle.net/jessuni/kxcmye8z/42/ Вы пробовали другой источник видео и воспроизвели проблему?

Автор: Jess Uni Размещён: 11.08.2019 07:24
Вопросы из категории :
32x32