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? 谢谢!

  • Android:YouTube播放器已经发布
  • 如何在Android中将video上传到youtube?
  • 通过android studio将video上传到Youtube
  • 如何使用Youtube API在RecyclerView中加载Youtube缩略图
  • YouTube API:未连接。 调用connect()并等待onConnected()被调用
  • 与YouTube播放器支持片段挣扎
  • 在全屏模式下,滑动手势在YouTubePlayerView中不起作用
  • 移动到youtube应用程序时,Youtube SDK与DeadObjectException崩溃
  • 我认为禁用自动播放正在成为一个“标准”。

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

    编辑:

    由于链接已死,我在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加载时触发。 我把它转换成了点击触发,这就解决了这个问题。