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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...