在android上的html5视频标签中禁用默认的丑陋海报图像

Posted

技术标签:

【中文标题】在android上的html5视频标签中禁用默认的丑陋海报图像【英文标题】:Disable default ugly poster image in html5 video tag on android 【发布时间】:2017-02-13 23:10:28 【问题描述】:

android上,使用html5视频标签加载视频,在视频加载之前,占位符图像是一个灰色的图像,上面有一个大的“播放”图标,假设我没有视频的海报图片所以我无法替换它,有什么办法可以禁用丑陋的吗?

【问题讨论】:

【参考方案1】:

我知道这个问题很老,但我一直在寻找这个问题的答案。原来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;
    
);

我不一定会在每次调用此方法时都制作新的位图,但我相信你明白了。

【讨论】:

canvas.drawARGB(255, 0, 0, 0); 还有一个建议:如果你希望这张海报是透明的,你应该创建带有alpha通道的位图:Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_4444) 有机会用纯 CSS 做到这一点吗?【参考方案2】:

您可以将poster 属性添加到<video> 标记以跳过丑陋的像素化默认android-webview-video-poster 图像。透明的 PNG 或 GIF 或空的 SVG 作品。

【讨论】:

以上是关于在android上的html5视频标签中禁用默认的丑陋海报图像的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频标签在移动 Chrome 上的奇怪行为,但适用于 SAFARI

如何使用 HTML5 视频标签禁用搜索?

如何在 HTML5 中隐藏视频标签的全屏按钮

html5开发,android中的微信内置浏览器如何让video标签的视频不全屏播放

如何禁用全屏 HTML5 视频的默认控件?

如何禁用 iOS HTML5 视频控件? [关闭]