El video no se reproduce en la vista web de Android

Estoy trabajando con una aplicación de Android y PhoneGap y estoy usando la etiqueta de video HTML5 para reproducir videos en mi página web. Cuando toco, el video no es visible y el video no se reproduce. ¿Cómo puedo reproducir un video HTML5 en Android?

Código para el mismo dado abajo

<!DOCTYPE HTML> <html> <head> <script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script> <meta http-equiv="content-type" content="text/html; charset="> <title></title> </head> <body > <video id="video" autobuffer height="240" width="360" onclick="this.play();> <source src="test.mp4"> <source src="test.mp4" type="video/webm"> <source src="test.mp4" type="video/ogg"> </video> <div id="msg"></div> <script type="text/javascript"> </script> </body> </html> 

y el método onCreate clase de actividad – >>

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final WebView webView = (WebView) findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS); webView.getSettings().setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); webSettings.setPluginState(PluginState.ON); webView.getSettings().setPluginsEnabled(true); webSettings.setAllowFileAccess(true); webView.loadUrl("file:///android_asset/www/html5videoEvents.html"); } 

Prueba esto.

MainActivity.java

 public class MainActivity extends Activity { WebView webPage; Button next; String rootDir = "file://" + Environment.getExternalStorageDirectory() + "/iR-unzip/testbook/"; WebChromeClient webChromeClient = new WebChromeClient(); WebViewClient webViewClient = new WebViewClient(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webPage = (WebView) findViewById(R.id.webview); webPage.setWebChromeClient(webChromeClient); webPage.setWebViewClient(new MyWebViewClient()); webPage.getSettings().setJavaScriptEnabled(true); webPage.getSettings().setPluginsEnabled(true); //webPage.getSettings().setPluginState(PluginState.ON); webPage.getSettings().setLoadWithOverviewMode(true); webPage.getSettings().setUseWideViewPort(true); webPage.loadUrl(rootDir + "/" + "chapter_1.html"); next = (Button) findViewById(R.id.page_changer); next.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { webPage.loadUrl(rootDir + "/" + "chapter_2.html"); } }); } public class MyWebChromeClient extends WebChromeClient { @Override public void onShowCustomView(View view, CustomViewCallback callback) { // TODO Auto-generated method stub super.onShowCustomView(view, callback); if (view instanceof FrameLayout) { FrameLayout frame = (FrameLayout) view; if (frame.getFocusedChild() instanceof VideoView) { VideoView video = (VideoView) frame.getFocusedChild(); frame.removeView(video); video.start(); } } } } public class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } } 

Agregue estas líneas antes de cargar contenido HTML en su WebView.

 wv.setWebChromeClient(new WebChromeClient() { }); 

De la documentación:

Para admitir el vídeo en HTML5 en línea en su aplicación, debe activar la aceleración de hardware y establecer un WebChromeClient. Para el soporte de pantalla completa, las implementaciones de onShowCustomView (View, WebChromeClient.CustomViewCallback) y onHideCustomView () son obligatorias, getVideoLoadingProgressView () es opcional.

  • No se pueden transmitir vídeos
  • Vídeo inverso en android
  • Buscando en YouTube HTML5 video sobre Android WebView
  • Configuración de encabezados para streaming de vídeo mp4 y reproducción de archivos con Exoplayer
  • Android: dibuja el video de YouTube en SurfaceTexture
  • Buffer de vídeo circular Android con sonido
  • Cómo fusionar archivos de audio y video en Android
  • ¿Cómo puedo asegurar la correcta orientación de reproducción del video grabado?
  • Reproducción de vídeo en android directamente desde el servidor
  • Transmisión de vídeo de la cámara Android al servidor
  • No se puede reproducir este video. Android videoView mp4 grabado por el dispositivo Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.