iOS - html5 - полноэкранный режим - отключение очистки

У меня есть видеоплеер html5 с пользовательскими элементами управления, которые я показываю / скрываю по мере необходимости. Элементы управления по умолчанию удаляются с помощью video.removeAttribute("controls").

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

Есть ли способ отключить поиск в полноэкранном режиме?

Благодарю.

2 ответа

Решение

По словам Apple, в полноэкранном режиме они всегда будут обеспечивать управление видео:

http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html

Вы всегда можете отключить полноэкранный режим на iPad для рекламы (сняв полноэкранный контроль), а затем вернуться к полноэкранному отображению контента. Не оптимально и не будет работать на iPhone/iPod Touch.

В iOS нет способа напрямую запретить очистку в полноэкранном режиме, но есть обходной путь, который примерно работает, как показано ниже

  1. отслеживайте точку воспроизведения, подписавшись на событие timeupdate
  2. подписанное искомое событие, которое будет запущено, когда пользовательская чистка закончится
  3. при получении искомого события измените videoEl.currenttime на последний известный заголовок воспроизведения.

Чтобы это действительно заработало, нужно еще кое-что проработать. Например, когда вы изменяете текущее время, оно также вызывает искомое событие. Поэтому на шаге 3 следует проводить различие между искомыми, инициированными пользователем или пользователем.

По состоянию на июль 2016 года в IMA3 SDK реализовано нечто подобное. Вы можете попробовать их демо на http://googleads.github.io/googleads-ima-html5/simple/

Другие вопросы по тегам