在android上,使用html5视频标签加载视频,在视频加载之前,占位符图像是一个灰色的图像,上面有一个大的“播放”图标,假设我没有视频的海报图像,所以我不能'不替换它,有什么办法可以禁用那个丑陋的吗?
我知道这个问题很老了,但我一直在寻找这个问题的答案。原来
WebChromeClient
有一个getDefaultVideoPoster
方法。所以你可以这样做:
webView.setWebChromeClient(new WebChromeClient() {
@Override public Bitmap getDefaultVideoPoster() {
final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
// Use whatever color you want here. You could probably use a transparent color
canvas.drawARGB(255, 0, 0, 0);
return bitmap;
}
});
我不一定会在每次调用此方法时都创建新的位图,但我相信您已经明白了。
您可以向
poster
标签添加 <video>
属性,以跳过丑陋的像素化默认 android-webview-video-poster
图像。透明的 PNG 或 GIF 或空的 SVG 作品。
在 Web 应用程序代码(不是 Android navitve 代码)中“禁用”视频海报的一种解决方法是设置 1x1 透明图像。最小的 base64 编码的 1x1 透明图像似乎是 GIF,所以这有效:
<video poster="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" />