Inte rnet Explorer не воспроизводит html 5 видео после воспроизведения 50 видео - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть курс электронного обучения с 120 видео от 1 до 3 минут с автовоспроизведением и предварительной загрузкой = "auto".

Он упакован в SCORM 1.2 и размещен на CornerStone.

После просмотра + - 40 видео, которые не воспроизводятся, показывая только пустой экран. Inte rnet Explorer 11.

Указание воспроизводить видео с помощью javascript не приводит к его воспроизведению.

Просмотр видео readyState возвращает 0.

Просмотр IE Сетевой анализ показывает, что в видео содержится ошибка 206 или 304.

Если я выйду из курса и повторно введу его, он вернется меня туда, где я был, и он начнет нормально воспроизводить видео.

Что происходит и что я могу сделать, чтобы исправить эту проблему?

Редактировать: Кажется, проблема связана с некоторой ошибкой на IE h264 кодеках. Видео может хорошо воспроизводиться, и при повторном просмотре при активации элементов управления появляется сообщение «Ошибка чтения кода c».

1 Ответ

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

Это звучит как утечка памяти или другая ошибка в реализации IE видео HTML 5. Коды 206 и 304 - красная сельдь; ошибка также не возникает (304 происходит каждый раз, когда в браузере уже есть что-то в кэше - сервер сообщает браузеру «у вас уже есть последняя версия» с кодом 304 - и 206 кодов являются общими при загрузке видео: это сервер говорит « вот часть ответа, чтобы вы могли начать играть, и их будет больше ").

Если это действительно утечка памяти (или какая-либо другая проблема IE -specifi c), ваше решение нужно обойти это. Вы можете перезагрузить окно браузера после каждых 30 видео (или некоторого числа, которое имеет смысл); если бы вы сделали это, вы могли бы отслеживать, какое видео в последний раз воспроизводилось по URL-адресу - что, в действительности, может быть полезно в любом случае (в случае, если пользователь перезагрузит страницу, думая, что браузер «запомнит», что его последнее видео было).

Насколько легко или сложно было бы при загрузке страницы условно загрузить указанное видео, будет зависеть от вашей реализации. Но вы будете следить за самым последним видео по URL-адресу, например #lastVidId=1224 (программно изменяя ha sh, устанавливая location.href при загрузке нового видео), или как ?lastVidId=1234 (программно изменяя URL-адрес без перезагрузки страницы, используя pushState() или replaceState() (возможно, последний в вашем случае).

Надеюсь, это поможет; я думаю, что это проблема, чтобы обойти, а не заниматься лобовым, особенно поскольку он использует старый браузер, такой как IE.

...