我正在尝试在全屏横向 Activity 中正确显示 Vimeo 视频。 该视频的顶部和底部有“奇怪的”白边。
这些是 WebView 设置:
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
我注入(inject):
webView.loadDataWithBaseURL("https://vimeo.com", html, "text/html", "UTF-8", null);
这是 HTML:
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="default-src * gap:; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src *; img-src * data: blob: android-webview-video-poster:; style-src * 'unsafe-inline';">
</head>
<body style="margin: 0; padding: 0">
<iframe src="https://player.vimeo.com/video/445319847" webkitallowfullscreen mozallowfullscreen allowfullscreen
width="100%" height="100%" margin="0" padding="0" marginwidth="0" marginheight="0" hspace="0" vspace="0" ,
frameborder="0" scrolling="no">
</iframe>
</body>
</html>
我添加了元内容,阅读这个控制台日志:
“拒绝加载图像‘android-webview-video-poster:default_video_poster/5386880230549634306’,因为它违反了 以下内容安全策略指令:“img-src‘self’数据:https://i.vimeocdn.com https://secure-b.vimeocdn.com https://f.vimeocdn.com https://vimeo.com https://secure.gravatar.com https://i0.wp.com https://i1.wp.com https://i2.wp.com https://pagead2.googlesyndication.com https://player.vimeo.com https://.ci.vimeows.com https://f.vimeocdn.com".",来源:https://player.vimeo.com/video/445319847 (0)*
然后登陆this answer .顺便说一句,警告并没有消失,修复似乎不起作用。有任何想法吗?非常感谢。
编辑:如果无法让播放器完全全屏显示,我怎样才能用例如黑色?
最佳答案
这里没有什么奇怪的。 iframe
正在实现您的 WebView
(width="100%"height="100%"
没有 html 边距、填充等),这是按屏幕大小绘制。整个屏幕,也在状态栏下方,因此不等于白色边距(我打赌你正在使用 fitsSystemWindows
attr)
iframe
正在加载网页 src="https://player.vimeo.com/video/445319847"
并且此页面包含正在尝试实现框架的播放器 (在这种情况下适合宽度),但保持纵横比和居中播放器本身
关于android - 全屏横向 WebView 中的 Vimeo 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63520767/