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

15

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

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

fullscreen mode is invoked video should automatically start (was indeed started by user clicking on poster image) when video finish to play Android should exit fullscreen and finally redirect user to anothe page.

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

Похоже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>
video.webkitEnterFullScreen (); это работало для вас на Android 4.1? Я сомневаюсь. Code_Yoga

Ваш Ответ

4   ответа
1

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

Это будет применимо для веб-приложения Android, а не 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

ура

0

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

settings.setMediaPlaybackRequiresUserGesture(false);

0

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

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

    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.

Постскриптум

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

var video = document.getElementById("video");
video.addEventListener("ended",doSomething,true);

function doSomething() {
     //your redirect code here
}
Спасибо. К сожалению мне это нужно для работы на Android 4. guidobras
1

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

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

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

В дополнение к вышесказанному: после некоторого поиска в Google я обнаружил, что проблема с полноэкранным режимом заключается в следующем: скрытие элемента видео действительно возвращает меня от видеоплеера к браузеру. Android, однако, говорит, что для выхода из полноэкранного режима необходимо действие пользователя (смахивание сверху вниз). Вот почему браузер остается в полноэкранном режиме. Я не нашел никакого решения для этого. Поскольку именно так работает Android, мы решили, что после завершения видео пользователь должен принять меры, чтобы выйти из видео и вернуться на веб-сайт.

Похожие вопросы