android – 显示HTML5视频全屏

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

另外,我有hardwareAccelerated =“true”.

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

@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");
    }

...

解决方法

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

猜你在找的Android相关文章