Html5 видео на Android 4: играть в полноэкранном режиме, а затем перенаправлять на другую веб-страницу – не работает

Я разрабатываю html5 страницу для смартфонов Android 4 с одним 3gpp (или mp4) видео, которое должно автоматически запускать полноэкранный режим при открытии; Когда конец видео должен перенаправляться на другой URL.

Некоторый googling сказал мне, что автозапуск больше не разрешен на Android 4, поэтому я решил отобразить изображение плаката, которое пользователь должен нажать, чтобы начать видео. Затем:

  1. Вызывается полноэкранный режим
  2. Видео должно автоматически запускаться (действительно было начато щелчком пользователя по плакату)
  3. Когда видео заканчивается, чтобы играть в Android, нужно выйти из полноэкранного режима
  4. И, наконец, перенаправить пользователя на страницу anothe.

2 и 3 не работают: после вызова полноэкранного режима у пользователя есть еще один «щелчок», чтобы начать видео, и когда видео заканчивается, exitfullscreen не работает (экран черный, и пользователю нужно нажать «назад» на телефоне, чтобы выйти из телефона видео проигрыватель).

Похоже, что video.webkitExitFullScreen() и video.play() игнорируются на Android 4.

Это код html5 и код javascript, который я использую, не могли бы вы помочь мне указать на решение?

Благодаря!

  <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width; initial-scale=1.0" /> <meta name="description" content="" /> <title>test</title> <script type="text/javascript"> function videoEnd() { var video = document.getElementById("video"); video.webkitExitFullScreen(); document.location = "http://www.google.com"; } function playVideo() { var video = document.getElementById("video"); video.addEventListener('ended', videoEnd, false); video.webkitEnterFullScreen(); video.play(); } </script> </head> <body> <video id="video" poster="../img/image.jpg" onclick="playVideo();"> <source src="../video/videoname.3gp" type="video/3gpp" /> </video> </body> 

Solutions Collecting From Web of "Html5 видео на Android 4: играть в полноэкранном режиме, а затем перенаправлять на другую веб-страницу – не работает"

У меня есть предложение, которое могло бы помочь вам,

Это применимо для веб-приложения Android, не использующего веб-приложение для Android.

Вы можете либо создать андроид-соединение, либо клиент веб-браузера Android, передать значения в качестве переменной (Query String) и воспроизвести видео с родного Android, где у вас есть все элементы управления.

Пожалуйста, найдите код для воспроизведения видео.

 enter code here public void videoPlayer(String path, String fileName, boolean autoplay){ getWindow().setFormat(PixelFormat.TRANSLUCENT); //the VideoView will hold the video VideoView videoHolder = new VideoView(this); //MediaController is the ui control howering above the video (just like in the default youtube player). videoHolder.setMediaController(new MediaController(this)); //assing a video file to the video holder videoHolder.setVideoURI(Uri.parse(path+"/"+fileName)); //get focus, before playing the video. videoHolder.requestFocus(); if(autoplay){ videoHolder.start(); } 

}

Если вы хотите реализовать вид яркой бухты, тогда свяжитесь со мной, я помогу для HTML 5

ура

Я знаю, что это старый пост, но кто-то может это искать. Лично я просто скрываю видео-элемент (с помощью простого jquery $ videoElement.hide ()) после завершения видео, что автоматически возвращает меня в браузер.

Мы протестировали это на нескольких мобильных устройствах (iOS и Android).

У меня все еще есть еще одна проблема, которая заключается в том, что теперь мой браузер выглядит полноэкранным (что вызывает другие проблемы в моем случае).

У меня недавно была аналогичная проблема. После нескольких часов поиска в Интернете, вот как я сделал это:

Перед вызовом метода play () используйте метод load (). Итак, в вашем коде:

  function playVideo() { var video = document.getElementById("video"); video.addEventListener('ended', videoEnd, false); video.webkitEnterFullScreen(); video.load(); video.play(); } 

Я тестирую Android и 2.2, 2.3 и IPhone 3, и он работает. Однако, похоже, он не работает на Android 4.0.

PS

Если вы хотите перенаправить, когда воспроизведение видео заканчивается, используйте это событие:

 var video = document.getElementById("video"); video.addEventListener("ended",doSomething,true); function doSomething() { //your redirect code here } 

Похоже, в более поздних версиях android программный video.play() требует явного авторизации из WebView . например

settings.setMediaPlaybackRequiresUserGesture(false);