YouTube iframe嵌入无法在Android上自动播放

iFo*_*sts 17 android youtube-api android-webview samsung-mobile

我在我的Android应用中使用了webView来加载YouTube iframe播放器和自动播放视频.它适用于三星Galaxy S2和S3,但在三星Galaxy S4上运行时,在尝试自动播放时总会产生灰色屏幕.

在Galaxy S4上,它没有自动播放工作正常,需要用户操作(点击)才能开始播放(如果在playerVars中添加"autoplay:1"则没有任何反应).

我试图在onPlayerReady()中调用player.playVideo(),它导致了这个灰色屏幕:

在此输入图像描述

LogCat还显示一个奇怪的错误消息:

E/IMGSRV(17004): :0: GetPTLAFormat: Invalid format
Run Code Online (Sandbox Code Playgroud)

无法自动播放时.我不知道这个消息是什么; 我用Google搜索并没有发现任何东西.

这是WebView的Android代码:

WebView wv = (WebView) findViewById(R.id.webview);
WebSettings websettings = wv.getSettings();
websettings.setJavaScriptEnabled(true);
websettings.setDomStorageEnabled(true);
websettings.setDatabaseEnabled(true);
wv.loadUrl(strUrl);
wv.setWebViewClient(new WebViewClient());
wv.setWebChromeClient(new WebChromeClient());
wv.setPadding(0, 0, 0, 0);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
wv.setVerticalScrollBarEnabled(false);
wv.setHorizontalScrollBarEnabled(false);
Run Code Online (Sandbox Code Playgroud)

这是一个已知问题,还是有任何自动播放视频的解决方案?谢谢!

Ale*_*ado 12

我认为禁用自动播放正在成为一种"标准".

顺便说一句,你可以试试这个

编辑:

由于链接已经死亡,我在https://lumi.do/p/04x626i1ngvht/how-to-autoplay-html5-video-on-android中找到了它:

如何在Android上"自动播放"HTML5视频
由Mathias Desloges在实验室撰写于19/05/11

您是否曾尝试在Android设备上使用新的HTML5视频标签?
我们已经面临着这个问题.
让我们设置上下文,我们希望我们的视频在页面加载完成后开始播放.
根据HTML5规范,我们应该使用"autoplay"属性,但它在Android中没有效果.所以我们试着用一个小脚本在页面加载后调用play函数:

function callback () { document.querySelector('video').play(); } 
window.addEventListener("load", callback, false);
Run Code Online (Sandbox Code Playgroud)

这很好地再现了经典桌面浏览器上"autoplay"属性的行为,但在Android浏览器上它失败了.
我们尝试将先前定义的"callback()"函数附加到任意节点上的click事件,并且视频开始"点击"​​(正常行为).在继续处理页面html代码的同时,我们找到了解决方案!

不要问我为什么,但在添加"海报"属性后它才有效!