Странная ошибка на Videojs

Я не знаю, как это происходит, и я не вижу никаких ошибок. Кажется, я не могу перемещаться по видео во второй раз, когда открываю свою страницу.

Смотрите снимок экрана: enter image description here

Я нашел эту ошибку, о которой говорит,

TypeError: Floating-point value is not finite.
"Video is not ready. (Video.js)"

Помощь будет действительно оценена.

Спасибо

Ответ 1

Когда вы говорите: "Я не могу перемещаться по видео во второй раз, когда открываю свою страницу"? Вы имеете в виду, что вы вообще не можете воспроизводить видео или что вы не можете перемотки вперед и назад в воспроизводящем видео?

То, что вы получаете ошибку Type Error: Floating-point value is not finite, означает, что определенный параметр, который вы поставляете для video.js, является неправильным типом. То есть вы probaby поставляете video.js со строкой, когда она хочет целое число (или что-то подобное).

Поскольку он работает при первом загрузке страницы, пытаетесь ли вы возобновить воспроизведение, когда вы остановились, когда вы перешли от страницы?

Если в этом случае вы, вероятно, сохраняете параметр currentTime в значении cookie или localStorage в виде строки (с использованием куки файлов jQuery, например, они обычно получают автоматическое строение) и забывают переключить его обратно на int когда вам понадобится video.js, чтобы прочитать его вам. Поскольку то, что я замечаю о вашем скриншоте, кажется, что video.js не знает длительности вашего видео (то есть время поиска говорит 0:31/0:00)

Вот что вы должны сделать:

Очистите кеш, чтобы получить рабочую нагрузку в первый раз, а затем:

Перед началом воспроизведения, после окончания воспроизведения и во время воспроизведения вы должны зарегистрировать текущую подпись времени воспроизведения, то есть: console.log( videojs("id-of-your-video").currentTime() )

Добавление сигнатуры времени console.logs() к этим обратным вызовам событий video.js должно помочь вам:

  • durationchange (активируется при изменении общей продолжительности вашего видео)
  • duration (расскажет вам о продолжительности вашего видео. Попробуйте выполнить регистрацию этого файла во время работы и снова после его прекращения работы и посмотреть, что изменилось в значении)
  • Если у вас по-прежнему возникают проблемы, попробуйте записать значения, используя обратный вызов video js timeupdate. Это событие вызывается, когда текущая позиция воспроизведения изменилась (может быть несколько раз в секунду). Если все остальное не удается, этот обратный вызов может дать вам некоторое представление о точном моменте получения недопустимого значения типа, но это не поможет вам, если возникли проблемы с попыткой возобновить воспроизведение из значения .currentTime(), считанного с неправильный тип, хранящийся в пользовательском cookie/sessionStorage/localStorage и т.д.

Ответ 2

Используете ли вы сервер для его выполнения или используете его локально. Потому что у меня были некоторые подобные проблемы, когда я запускал их локально. Но когда я помещал файлы на какой-то сервер, например, tomcat или iis или какие-либо серверы, он работал. Не уверен, что проблема просто угадана