做项目时碰上加载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;
}
做了这几步就能正常播放视频了