Я создал веб-приложение, использующее тег HTML5 и код JavaScript, который отображает другой контент, синхронизированный с запущенным видео. Он отлично работает в настольных браузерах: Firefox, Chrome и Safari. На iPhone или DroidX встроенный видеоплеер появляется и занимает экран, тем самым скрывая другой динамический контент, который я хочу отображать одновременно с видео.
Есть ли способ обойти это? При необходимости я выясню, как писать собственные приложения для обеих этих платформ, но я бы сэкономил массу усилий, если бы я мог просто придерживаться HTML5 / JavaScript.
Ответы:
В iOS 10+
Apple включила атрибут
playsinline
во всех браузерах на iOS 10, поэтому он работает без проблем:В iOS 8 и iOS 9
Краткий ответ: используйте iphone-inline-video , он включает встроенное воспроизведение и синхронизирует звук.
Длинный ответ: эту проблему можно обойти, смоделировав воспроизведение путем беглого просмотра видео, а не его реального просмотра
.play()
.источник
Существует свойство, которое включает / отключает прямое воспроизведение мультимедиа в веб-браузере iOS (если вы писали собственное приложение, это было бы
allowsInlineMediaPlayback
свойством UIWebView). По умолчанию на iPhone установлено значениеNO
, но на iPad установлено значениеYES
.К счастью для вас, вы также можете настроить это поведение в HTML следующим образом:
<video id="myVideo" width="280" height="140" webkit-playsinline>
... надеюсь, это поможет вам разобраться. Я не знаю, будет ли это работать на ваших устройствах Android. Это свойство webkit, так что может. В любом случае, стоит попробовать.
источник
<preference name="AllowInlineMediaPlayback" value="true" />
Старый ответ (актуален до 2016 г.)
Вот ссылка разработчика Apple, в которой прямо говорится, что -
на iPhone и iPod touch, которые имеют небольшой экран, «Видео НЕ отображается на веб-странице»
Особенности устройства Safari
Ваши варианты :
webkit-playsinline
атрибут работы для HTML5 видео на прошивкой , но только при сохранении веб - страницы на главном экране в качестве веб - приложение - Не при открытии страницы в SafariUIWebView
позволяет воспроизводить видео в линию, но только если вы установитеallowsInlineMediaPlayback
свойство дляUIWebView
класса верноисточник
<preference name="AllowInlineMediaPlayback" value="true" />
В iOS 10 beta 4 правильный код в HTML5:
webkit-playsinline
для iOS <10 иplaysinline
для iOS> = 10См. Подробности на https://webkit.org/blog/6784/new-video-policies-for-ios/
источник
Согласно этой странице https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html, он доступен только в том случае, если (Включено только в UIWebView со свойством allowInlineMediaPlayback, установленным на YES. ) Я понимаю, что в Mobile Safari это ДА на iPad и НЕТ на iPhone и iPod Touch.
источник
Я не знаю насчет Android, но Safari на iPhone или iPod touch будет воспроизводить все видео в полноэкранном режиме из-за небольшого размера экрана. На iPad он будет воспроизводить видео на странице, но позволяет пользователю сделать его полноэкранным.
источник