整理webView控件加载H5网页中视频播放不了的解决方案

做项目时碰上加载h5页面的视频播放不了 结合网上资源 整理到自己代码中问题解决,做记录如下:

1.在webView的Activity配置里面加上:

android:hardwareAccelerated=”true”

2.设置webview

          //===============
          // 设置编码
          contentWebView.getSettings().setDefaultTextEncodingName("utf-8");
          //contentWebView.getSettings().setTextZoom(70);
          // 设置背景颜色 透明
          //contentWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));
          // 设置可以支持缩放
          contentWebView.getSettings().setSupportZoom(true);
          // 设置缓存模式
          contentWebView.getSettings().setAppCacheEnabled(true);
          contentWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
          // //添加Javascript调用java对象
          contentWebView.getSettings().setJavaScriptEnabled(true);
          // 设置出现缩放工具
          contentWebView.getSettings().setBuiltInZoomControls(true);
          contentWebView.getSettings().setDisplayZoomControls(false);
          // 扩大比例的缩放设置此属性,可任意比例缩放。
          contentWebView.getSettings().setLoadWithOverviewMode(true);
          contentWebView.getSettings().setBlockNetworkImage(false);
          // 启用硬件加速
          contentWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
          contentWebView.setWebChromeClient(new WebChromeClient());

          // 自适应屏幕
          contentWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NORMAL);

          contentWebView.loadUrl(url);
          //===============

3.控制视频的播放暂停和销毁

        @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @Override
        protected void onPause() {
            super.onPause();
            //暂停WebView在后台的所有活动
            contentWebView.onPause();
            //暂停WebView在后台的JS活动
            contentWebView.pauseTimers();
        }

        @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @Override
        protected void onResume() {
            super.onResume();
            contentWebView.onResume();
            contentWebView.resumeTimers();
        }

        @Override
        protected void onDestroy() {
            super.onDestroy();
            main_layout.removeView(contentWebView);
            contentWebView.destroy();
            contentWebView = null;
        }

做了这几步就能正常播放视频了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值