全屏横向网络视图中的Vimeo视频

问题描述

我正在尝试在全屏横向活动中正确显示Vimeo视频。 该视频的顶部和底部都有“奇怪的”白色边距。

enter image description here

这些是网络视图设置:

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);

我注入:

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 / 5386880230549634634',因为它违反了 以下内容安全策略指令:“ 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正在满足您的WebViewwidth="100%" height="100%"没有html边距,填充等)的要求,它是按屏幕尺寸绘制的。整个屏幕,也位于状态栏下方,因此白边距不相等(我敢打赌您使用的是fitsSystemWindows attr)

iframe正在加载网页src="https://player.vimeo.com/video/445319847",并且此页面包含正在尝试实现帧(在这种情况下为合适的宽度)的播放器,但保持宽高比和居中播放器本身

修复:制作一些本机播放器(推荐ExoPlayer)并将直接视频文件链接加载到其中,如何在HERE中提取mp4链接的示例

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...