我们在使用最新固件(Android 4.0.3,固件版本 7.4.6)的 Kindle Fire HD 7" 上的 WebView 中播放嵌入式视频时遇到问题。
先决条件:
屏幕上显示的静态杂志页面图像(来自 JPG 文件)(使用 ImageView);
显示在静态图像上的 HTML 页面(自定义布局内的 WebView;WebView 和布局背景都是透明的!);
HTML 页面在“iframe”标签内包含“视频”标签。
在所有经过测试的设备上,这种组合工作正常:WebView 在静态页面图像上绘制透明背景,因此 HTML 页面上的视频正确放置在 ImageView 的静态 JPEG 中。除了 Kindle Fire。
在 Kindle Fire 上,WebView 总是以白色不透明背景绘制。WebView 不对 setBackgroundColor 或 setBackgroundDrawable 调用做出反应。尝试从 Javascript 设置 HTML 正文背景颜色也不成功。因此,静态图像在 HTML“覆盖”下不可见。
本主题建议 - Android WebView 样式背景颜色:在 android 2.2 上忽略透明- 我正在尝试关闭 WebView 的硬件加速:
webView.setBackgroundColor(0x00000000);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
Kindle Fire 使用适当的透明背景绘制 WebView。但是网页上的视频在那之后就失败了!更准确地说,开始视频时,只播放音频,不播放图片。
总结:硬件加速开启——WebView绘制背景不合适;硬件加速关闭 - HTML 中的视频播放时没有图片。
几天谷歌搜索不会导致任何解决方案。有人在 Kindle Fire 或其他设备上解决了类似的问题吗?