Mostrar vídeo HTML5 en pantalla completa

Tengo una webview que tiene video html dentro de ella. Quiero mostrar este video a pantalla completa por lo que anular onShowCustomView de mi WebChromeClient para utilizar un VideoView . Esto funciona muy bien en 2.3, sin embargo, en 4.x onShowCustomView nunca se llama. El video seguirá reproduciéndose, sin embargo, se reproducirá desde dentro de la vista web sin ningún control, además de hacer clic para reproducir y detener.

Además, tengo hardwareAccelerated = "true".

¿Alguna idea de por qué onShowCustomView nunca se llama?

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView) findViewById(R.id.webView); webView.getSettings().setSupportZoom(true); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true); webView.getSettings().setPluginState(WebSettings.PluginState.ON); webView.setWebViewClient(new WebViewClient()); webView.setWebChromeClient(new MyChromeClient()); webView.loadUrl(URL); } private class MyChromeClient extends WebChromeClient implements OnCompletionListener, OnErrorListener, OnPreparedListener { @Override public void onShowCustomView(View view, CustomViewCallback callback) { Log.d("ma", "onShowCustomView"); } ... 

2 Solutions collect form web for “Mostrar vídeo HTML5 en pantalla completa”

Bien después de luchar con esto por un tiempo, finalmente encontré la causa. En Android 4.x debe mostrar los controles mediante el atributo html 'controls' en la etiqueta 'video'. Una vez que usted está mostrando estos controles, puede hacer clic en el botón de pantalla completa que luego llamará 'onShowCustomView'. Dado que el vídeo incorporado está disponible en 4.x y tiene la opción de ir a pantalla completa con los controles, onShowCustomView no se llamará automáticamente en el juego. Desafortunadamente, esto está muy poco documentado en la documentación de Android.

Esto funciona para mí.

Encontré una "solución de peculiaridades" al hacer la aplicación web con videos vimeo. He probado dos dispositivos. Uno es Android versión 4.2.x, otro es 4.4.x versión. Uno es capaz de reproducir vídeo en modo de pantalla completa, otro no es capaz de.

Después de leer el documento oficial ' Migrar a WebView en Android 4.4 ', descubrí que hay diferentes nombres 'UserAgent' en dos dispositivos.

Uno tiene este userAgent.

 Mozilla/5.0 (Linux; Android 4.4.2; SHV-E300L Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 

Otro tiene esto.

 Mozilla/5.0 (Linux; Android 4.4.4; SHV-E370K Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 

Creo que la versión de cromo es la solución que hace vídeo en pantalla completa. Así que cambié la versión de cromo a 30.x.

 WebSettings s = mWebView.getSettings(); //Change UserAgent to play fullscreen vimeo's videos. String agent = s.getUserAgentString(); String p = "(Chrome/[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)"; Pattern pattern = Pattern.compile(p); Matcher matcher = pattern.matcher(agent); if(matcher.find()) { agent = matcher.replaceFirst("Chrome/30.0.0.0"); } s.setUserAgentString(agent); 

Oh ~~ puedo dormir … (lo siento con mi pobre inglés)

  • Aplicación de Android utilizando Webview / javascript. Lo que puede ser preocupación de seguridad?
  • ¿Cookies compartidas entre WebView y HTTPClient?
  • ¿Cómo puedo tomar una captura de pantalla de una vista web, capturar la página completa?
  • Certificado de Cliente de Webview de Android, Autenticación Mutua, SSL sobre Webview
  • Teclado suave de Android no panorámico vista web
  • Obtener valor href de la etiqueta de anclaje en Android WebView cuando se hace clic en el enlace
  • Congelar o crear una vista Web estable al seleccionar la barra de acción Volver? Impedir Cargar / recargar cada vez
  • Contenido de la web de android no seleccionable
  • WebView con vídeo incorporado reproduce en segundo plano
  • Android - Descargar e instalar el archivo apk en Webview
  • ¿Cómo desplazarse automáticamente al campo de entrada en Android cuando el teclado virtual se superpone al mostrar?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.