Android Webview加载带视频的网页,遇到的问题。

时间:2022-08-23 20:26:50

最近的项目中需要用webview加载带视频的网页,然后就遇到了系列问题。

**问题1:
带视频的页面关闭了,但是视频的声音还在。**
解决方法:

   /**
* 解决退出仍有声音的bug
*/

boolean isOnPause;
@Override
protected void onPause() {
super.onPause();
try {
if (mWebView != null) {
mWebView.getClass().getMethod("onPause").invoke(mWebView, (Object[]) null);
isOnPause = true;
}

} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 继续播放:在页面的onResume方法中使用
*/

@Override
protected void onResume() {
super.onResume();
try {
if (isOnPause) {
if (mWebView != null) {
mWebView.getClass().getMethod("onResume").invoke(mWebView, (Object[]) null);
}
isOnPause = false;
}
} catch (Exception e) {
e.printStackTrace();
}
}

Ps:这是别人的解决问题方法,亲测有用。表示感谢。
还有人说再onStop方法的时候,把mWebView.destroy();这个是个坑。。我就进去了,,这样会导致一个问题就是,当该页面从onPause—》onResume以后,页面会出现一片空白。。。所以,,一定要注意。。。
问题2:
进入视频页面,点击播放,然后退出该页面,这个时候声音是不在了,但是,再次进来,或者多次进来以后,会出现视频加载不出来,一片空白。。。尴尬不。。。。你仔细看log会看到报错:

[ERROR:in_process_view_renderer.cc(193)] Failed to request GL process.
Deadlock likely: 0

Ps:该问题只在4.4…的系统上出现了,再系统6,7上都没有此问题。
有人说是android 4.4 版本 chromium 内核代码的 bug,说强制关闭硬件加速能够解决。也就是给 view 设置 layerType 为 LAYER_TYPE_SOFTWARE (api 14 以上)。但是我试了。。问题没有解决。。我的测试机是华为Che1-CL10,系统是4.4.4。。
最后在一个偶然的地方看到说要把video的一个预加载属性设置为:preload=”none”,为了不麻烦后台来修改,(因为Ios没有出现这个问题)我就动态的给拿到的数据加了段js。代码如下:

function addPreLoad(){

var objs=document.getElementsByTagName("video");//查找所有的video标签
for (var i = 0; i < objs.length; i++) {
objs[i].setAttribute("preload", "none");//给每一个video标签加上preload="none"属性
}
}

然后在页面加载完成的时候调用:

      mWebView.loadUrl("javascript:addPreLoad()");

就可以了。。。
问了下前段人员,说preLoad这个属性是页面加载完毕载入视频。。
至此问题就解决了。。。。
此博客是伴随歌曲:最佳损友的单曲循环下完成的。。。因为我最近不happy,,,发现因为自己的性格,,赶走了很多朋友。。。哈哈哈。。。
最后。每日一语录:就是最佳损友的歌词:哈哈哈哈哈。。。

朋友 我当你一秒朋友

朋友 我当你一世朋友

奇怪 过去再不堪回首

怀缅 时时其实还有

朋友 你试过将我营救

朋友 你试过把我*

无法 再与你交心联手

毕竟 难得有过最佳损友

从前共你 促膝把酒

倾通宵都不够

我有痛快过 你有没有

很多东西今生只可给你

保守至到永久

别人如何明白透

实实在在 踏入过我宇宙

即使相处到 有个裂口

命运决定了 以后再没法聚头

但说过去 却那样厚

问我有没有 确实也没有

一直躲避的藉口 非什么大仇

为何旧知己 在最后

变不到老友

不知你是我敌友 已没法望透

被推着走 跟着生活流

来年陌生的

是昨日最亲的某某

生死之交当天不知罕有

到你变节了 至觉未够

多想一天 彼此都不追究

相邀再次喝酒

待葡萄成熟透

但是命运入面 每个邂逅

一起走到了 某个路口

是敌与是友 各自也没有*

位置变了 各有队友

问我有没有 确实也没有

一直躲避的藉口 非什么大仇

为何旧知己 在最后

变不到老友

不知你是我敌友 已没法望透

被推着走 跟着生活流

来年陌生的

是昨日最亲的某某

早知解散后 各自有际遇作导游

奇就奇在 接受了 各自有路走

却没人像你 让我 眼泪背着流

严重似情侣 讲分手

有没有 确实也没有

一直躲避的藉口 非什么大仇

为何旧知己 在最后 变不到老友

不知你又有没有 挂念这旧友

或者自己 早就想通透

来年陌生的 是昨日 最亲的某某

总好于 那日我 没有

没有 遇过 某某

是的。。不管我们经历了什么,我都心怀感激,都感谢那日,我遇见了你,认识了你。。。