0

Прежде всего, извините, если я задаю уже ответ на вопрос, но я не могу его найти или решить на данный момент.видео-тег ошибка событие на ipad автономное веб-приложение не работает

Я разрабатываю веб-приложение, которое запускается на iPad в автономном режиме. Существует тег <video>, и я играю в него видео в прямом эфире, я думаю, что это может быть проблемой, так как я не тестировал событие ошибки в статическом файле. Моя проблема заключается в том, что я не могу привязывать событие onerror или error к тегу, чтобы, если по какой-то причине поток не удается, я могу перезапустить его.

Мое видео тег выглядит следующим образом:

<video id="video_tag" preload webkit-playsinline autoplay="autoplay" x-webkit-airplay="allow"> 
<source type="video/mp4" src="http_stream_url"></source> 
</video> 

Я пытался добавить onerror="alert('error')" на видео тэгом непосредственно, он не работал.

Я попытался добавить прослушиватель событий к тегу видео напрямую document.getElementById("video_tag").addEventListener('error', function(event) { alert('error'); }, true); он не сработал.

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

Я также попытался поставить onerror="alert('error')" на тег источника, не работал.

Обратите внимание, что это внутри IPad> Safari> автономного режима> Javascript Веб-приложение> тег видео> играя HLS (HTTP Live потока) поток

EDIT: Он обнаруживает загрузку видеопоток строй, но мне нужно для обнаружения, когда поток прекращается во время воспроизведения и перезапуска потока в этом случае.

Благодаря

ответ

0

Я думаю, что вы должны слушать для onstalled события в video элемента. Элементом видео является особый вид медиа-элемента, а список событий можно найти по адресу w3schools.

Имейте в виду, что поддержка браузера все еще довольно ранняя, и не все события обязательно выполняются. Я бы рекомендовал создать обработчик для всех перечисленных событий и увидеть, действительно ли происходит событие, когда поток прекращается. Я подозреваю, что события onreadystatechange или onsuspend также могут помочь вам.