YouTube iframeembedded无法在Android上自动播放

我在Android应用程序中使用webView加载YouTube iframe播放器和自动播放video。 它在三星Galaxy S2和S3上工作正常,但是当在三星Galaxy S4上运行时,尝试自动播放时总会导致灰屏。

在Galaxy S4上,没有自动播放function就能正常工作,需要用户操作(点击)开始播放(如果在playerVars中添加“自动播放:1”,则不会发生任何事情)。

我试图在onPlayerReady()中调用player.playVideo(),结果出现这个灰屏:

在这里输入图像说明

LogCat也显示一个奇怪的错误信息:

E/IMGSRV(17004): :0: GetPTLAFormat: Invalid format 

何时无法自动播放。 我不知道这个消息是关于什么的; 我GOOGLE了,什么也没find。

以下是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); 

这是一个已知的问题,或者有什么解决scheme来自动播放video? 谢谢!

Solutions Collecting From Web of "YouTube iframeembedded无法在Android上自动播放"

我认为禁用自动播放正在成为一个“标准”。

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

编辑:

由于链接已死,我在https://lumi.do/p/04x626i1ngvht/how-to-autoplay-html5-video-on-android

如何在Android上“自动播放”HTML5video
由Mathias Desloges撰写于19/05/11的实验室

你有没有试过在Android设备上玩新的HTML5video标签?
我们有,这里是我们面临的一个问题。
让我们设置上下文,我们希望我们的video在页面加载完成后开始播放。
根据HTML5规范,我们应该使用“自动播放”属性,但在Android中没有任何作用。 所以我们尝试了一下在页面加载完成后调用play函数的脚本:

 function callback () { document.querySelector('video').play(); } window.addEventListener("load", callback, false); 

这很好地再现了经典桌面浏览器上的“自动播放”属性的行为,但在Android浏览器上却失败了。
我们尝试将以前定义的“callback()”函数附加到任意节点上的单击事件,并且video开始播放时“正常”(正常行为)。 在继续处理页面html代码的同时,我们find了解决scheme!

不要问我为什么,但添加“海报”属性后,它的工作原理!

我相信这是操作系统制造商因为带宽问题而不能让video自动播放的限制性因素。 这一直是一个iOS的问题,任何JavaScript调用play()都会失败,除非用户首先执行了一些操作。 这可能是你的情况。

正如我在这里所回答的,我相信这不仅限于自动播放,还包括任何汽车事件。 对我来说,这是一个页面过渡jquerymobile当cordova加载时触发。 我把它转换成了点击触发,这就解决了这个问题。