在 Android Webview 中自动播放 Youtube
Posted
技术标签:
【中文标题】在 Android Webview 中自动播放 Youtube【英文标题】:Auto Play Youtube in Android Webview 【发布时间】:2019-02-23 16:02:42 【问题描述】:Youtube 自动播放标签在 android Webview iframe 中不起作用。 怎么去掉cc标签?
html 需要在 webview 中加载:
<!DOCTYPE html>
<html>
<style>
.center
position: absolute;
margin: auto auto;
right: 0;
left: 0;
bottom: 0;
top: 0;
</style>
<body style="background:#000">
<iframe id="videoContainer" class="center"
src="https://www.youtube.com/embed/5jnqWIlaLyA?rel=0&controls=1&showinfo=0&autoplay=1"
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen>
</iframe>
</body>
</html>
在网站上运行相同的代码。
Content 变量保存上面提到的 html。 当前的 Android 代码:
mWebView.getSettings().setjavascriptEnabled(true);
mWebView.getSettings().setAppCacheEnabled(false);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
view.loadDataWithBaseURL(null, content, "text/html", "utf8", view.getUrl());
【问题讨论】:
【参考方案1】:自 Android SDK 17 起默认禁用自动播放,您可以将 setMediaPlaybackRequiresUserGesture 设置为 false 以重新启用自动播放。然后您还需要检查 SDK 版本,因为此功能不在早期版本中。
支票:
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT > 16)
engine.getSettings().setMediaPlaybackRequiresUserGesture(false);
【讨论】:
您是否在 webView 上将 setMedioPlaybackRequiresUserGesture 设置为 true?【参考方案2】:您的 src 属性中似乎有错误的 url 格式
https://www.youtube.com/embed/5jnqWIlaLyA?rel=0&controls=1&showinfo=0&autoplay=1&cc_load_policy=3
还可以查看此网址以获取参考:
https://developers.google.com/youtube/player_parameters
【讨论】:
已经检查过了,在我看来,格式是正确的。如果我做错了,请告诉我 请检查问题以上是关于在 Android Webview 中自动播放 Youtube的主要内容,如果未能解决你的问题,请参考以下文章
在 Android WebView 中自动播放嵌入的 YouTube 视频有啥新技巧吗?
android webview youtube嵌入视频自动播放不起作用