2014-12-04 3 views
0

У меня есть приложение Android KitKat со встроенным WebView. Страница содержит элемент видео html5. Видео загружается отлично, но play() не действует, пока я не коснусь кнопки воспроизведения на экране, а затем play() и пауза() работают нормально. Я также пробовал myWebView.setWebChromeClient(new WebChromeClient());, но это не имеет значения. Кроме того, эта же страница отлично работает в браузерах Chrome на Mac и Linux.Android: невозможно воспроизвести/приостановить html5 видео программно до тех пор, пока не будет запущено вручную

+0

Вы включили javascript в своем веб-просмотре? – Mus

ответ

0

Ну, я нашел проблему. Android 4+ не разрешит автовоспроизведение видео или программный запуск игры без предварительного нажатия кнопки воспроизведения на экране. Таким образом, пользователь будет неявно признавать использование полосы пропускания, вручную активируя воспроизведение. Хотя я понимаю, почему это было бы разумно для пользователя телефона с сотовой связью, мое приложение представляет собой телевизор с Android-интерфейсом Android. Это очень неудачное ограничение. Подробнее здесь: Autostart html5 video using android 4 browser

EDIT: Существует обходной путь - в то время как фондовый браузер не может достичь этого, используя встроенный WebView дает вам немного больше контроля:

WebView myWebView = (WebView) findViewById(R.id.webview); 
    myWebView.setWebChromeClient(new WebChromeClient()); 
    myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); 

Это решило проблему!

Смежные вопросы

 Смежные вопросы