android – 显示HTML5视频全屏

前端之家收集整理的这篇文章主要介绍了android – 显示HTML5视频全屏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个webview里面有html视频.我想全屏显示这个视频,所以我覆盖了我的WebChromeClient的onShowCustomView以使用VideoView.这在2.3中工作得很好,但是在4.x onShowCustomView中永远不会被调用.视频仍然会播放,但是,除了点击播放和停止之外,它还可以在webview中播放而无需任何控制.

另外,我有hardwareAccelerated =“true”.

知道为什么永远不会调用onShowCustomView吗?

  1. @Override
  2. public void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4.  
  5. setContentView(R.layout.main);
  6.  
  7. webView = (WebView) findViewById(R.id.webView);
  8.  
  9. webView.getSettings().setSupportZoom(true);
  10. webView.getSettings().setLoadWithOverviewmode(true);
  11. webView.getSettings().setUseWideViewPort(true);
  12. webView.getSettings().setBuiltInZoomControls(true);
  13. webView.getSettings().setJavaScriptEnabled(true);
  14. webView.getSettings().setDomStorageEnabled(true);
  15. webView.getSettings().setPluginState(WebSettings.PluginState.ON);
  16. webView.setWebViewClient(new WebViewClient());
  17. webView.setWebChromeClient(new MyChromeClient());
  18.  
  19. webView.loadUrl(URL);
  20.  
  21. }
  22.  
  23. private class MyChromeClient extends WebChromeClient implements
  24. OnCompletionListener,OnErrorListener,OnPreparedListener {
  25.  
  26. @Override
  27. public void onShowCustomView(View view,CustomViewCallback callback) {
  28. Log.d("ma","onShowCustomView");
  29. }
  30.  
  31. ...

解决方法

经过一段时间的努力,我终于找到了原因.在Android 4.x中,您必须使用’video’标记中的html’controls’属性显示控件.显示这些控件后,您可以单击全屏按钮,然后调用’onShowCustomView’.由于嵌入式视频在4.x中可用,并且您可以选择使用控件进入全屏,因此不会在播放时自动调用onShowCustomView.不幸的是,这在Android文档中的记录非常糟糕.

猜你在找的Android相关文章