Запускает событие загрузки видео на iPad?

Я работаю над веб-сайтом с видео-фоном.

Во-первых, я проверяю, может ли браузер воспроизводить видео с помощью modernizr.

Если нет, я показываю резервное изображение и показываю текст поверх изображения.

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

После запуска этого прослушивателя событий javascript отображает текст поверх видео.

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

Какие у меня есть варианты, чтобы текст отображался поверх видео на iPad? Какое альтернативное событие мне нужно искать? К сожалению, нужно ли прибегать к обнаружению устройств?


person John    schedule 02.02.2014    source источник
comment
Браузеры iOS и Android не воспроизводят видео автоматически - это особенность   -  person Offbeatmammal    schedule 03.02.2014
comment
Да, я, к сожалению, это осознал. Мой вопрос больше похож на то, какова моя альтернатива для запуска событий, которые обычно связаны с воспроизведением видео?   -  person John    schedule 03.02.2014
comment
Я бы поискал события canplay или воспроизведения, чтобы знать, что либо видео готово к воспроизведению, либо пользователь начал воспроизведение (похоже, работает в Safari на iOS и Chrome на iOS и Android)   -  person Offbeatmammal    schedule 03.02.2014


Ответы (1)


Modernizr имеет тест для автовоспроизведения видео (он не был выпущен на веб-сайте modernizr.com - только репозиторий на github. Он проверяет, воспроизводится ли связанное супер-короткое видео в кодировке base64, и если оно , он возвращает истину.

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

person Patrick    schedule 03.02.2014