Могу ли я избежать встроенного полноэкранного видеоплеера с HTML5 на iPhone или Android?
Я создал веб-приложение, которое использует тег HTML5 и код JavaScript, который отображает другой контент, синхронизированный с текущим видео. Он отлично работает в настольных браузерах: Firefox, Chrome и Safari. На iPhone или DroidX встроенный видеопроигрыватель всплывает и захватывает экран, тем самым скрывая другой динамический контент, который я хочу отображать одновременно с видео.
Есть ли способ обойти это? В случае необходимости я выясню, как писать собственные приложения для обеих платформ, но это сэкономит мне массу усилий, если я могу просто придерживаться HTML5/JavaScript.
Ответы
Ответ 1
Здесь есть свойство, которое разрешает/запрещает воспроизведение в режиме линейного воспроизведения в веб-браузере iOS (если вы пишете родное приложение, это будет свойство allowsInlineMediaPlayback
UIWebView). По умолчанию на iPhone установлено значение NO
, но на iPad он установлен на YES
.
К счастью для вас, вы также можете настроить это поведение в HTML следующим образом:
<video id="myVideo" width="280" height="140" webkit-playsinline>
... это, надо надеяться, разобраться с вами. Я не знаю, будет ли это работать на ваших устройствах Android. Это свойство webkit, чтобы оно могло. Во всяком случае, стоит.
Ответ 2
В iOS 10 +
Apple включила атрибут playsinline
во всех браузерах на iOS 10, поэтому это работает без проблем:
<video src="file.mp4" playsinline>
В iOS 8 и iOS 9
Краткий ответ: используйте iphone-inline-video, он позволяет встроить воспроизведение и синхронизировать звук.
Длинный ответ: Вы можете обойти эту проблему, моделируя воспроизведение, уменьшая видео, а не на самом деле .play()
.
Ответ 3
Здесь ссылка разработчика Apple, в которой явно говорит, что
на iPhone и iPod touch, которые являются устройствами небольшого экрана, "Видео НЕ, представленное на веб-странице"
Особые соображения, относящиеся к Safari
СЕЙЧАС:
- Атрибут
webkit-playsinline
работает для видео в формате HTML5 на iOS, но , только когда вы сохраняете веб-страницу на своем главном экране в качестве веб-приложения. Если не открыли страницу в Safari
- Для собственного приложения с WebView (или гибридного приложения с HTML, CSS, JS)
UIWebView
позволяет воспроизводить видеоролик, но только если вы установите allowsInlineMediaPlayback
свойство для класса UIWebView
для true
Ответ 4
Согласно этой странице
http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/Attributes.html
он доступен только в том случае, если (Включено только в UIWebView с свойством allowInlineMediaPlayback, установленным в YES.) Я понимаю, что в Mobile Safari это ДА на iPad и НЕТ на iPhone и iPod Touch.
Ответ 5
Я не знаю об андроиде, но Safari на iPhone или iPod touch будет воспроизводить все видео на весь экран из-за небольшого размера экрана. На iPad он будет воспроизводить видео на странице, но позволит пользователю сделать это на весь экран.
Ответ 6
В iOS 10 beta 4. Правильный код в html 5
<video src="file.mp4" webkit-playsinline="true" playsinline="true">
webkit-playinginline для iOS 10-, а playinline для iOS 10 +.
Подробнее см. https://webkit.org/blog/6784/new-video-policies-for-ios/