移动浏览器上的HTML5video自动播放

我正在使用以下HTML5和JQuery代码来播放其URL位于数组URLArray []中的video的播放列表。

function NextFrag(){ if (index < URLArray.length) { $("#VideoContainer").html('' ); index++; $("#video1").bind( "ended", NextFrag); } } 

我们知道所有手机都禁用了HTML5的自动播放function,因此我必须在手机上手动播放每个video片段。 这绝对是我不想要的。

我真的想知道替代方案。 我真的很感兴趣的代码段,我可以包括自动播放,而不涉及用户进行交互。

是否可以将其转换为Android应用程序。 我真的需要让它像播放列表一样工作,我不关心如何,我只需要这个function。

请帮忙。

自从iOS 10发布以来,Apple已经允许静音video自动播放: https : //webkit.org/blog/6784/new-video-policies-for-ios/

Android上的Chrome 53还允许静音video自动播放: https : //developers.google.com/web/updates/2016/07/autoplay

更新 – 2017年1月:由于这个答案仍然让我成为代表,我强烈鼓励任何读这篇文章的人查看Rihards的答案并给予它一些爱。 Rihards的参考文献比这个答案更现代,如果你需要在浏览器中自动播放应该会有所帮助。


移动浏览器中的自动播放限制是操作系统开发人员的有意限制。 据我所知,绝对没有办法在移动浏览器中自动播放内容,因为触发内容播放所需的事件是OS / Phone事件,浏览器本身无法控制或与之交互。

Facebook已经在其广告库中实施了video自动播放function,但这只能通过其原生应用程序实现。 即使是强大的FB也必须放弃对电话之神的威力。

我发现了一篇关于这种新的FB广告演示技术的文章,评论部分中的一些用户抱怨在浏览器中禁用自动播放的方法,就像使用本机FB应用程序一样:

Facebook为所有移动用户添加自动播放video到NewsFeed

但这显然是一个假设的抱怨和戏弄,因为评论是在FB完全启动该function之前做出的。

我的结论是:如果你绝对需要自动游戏,你将不得不去“本土”(哈……看看我在那里做了什么?)。

我在这个主题上发现的几乎所有答案中都缺少的是我需要playsinline属性才能在移动浏览器中正常工作(不要全屏播放,而是将其嵌入到网站内容中)

所以我的完整例子是:

  

我在iOS 11上自动播放video时遇到了问题.Android和iOS 10.3的解决方案与Pointi和Rihards提供的解决方案相当。

iOS 11上的Mobile Safari似乎再次成为了一个女主角。 请确保添加前缀属性(webkit-playsinline)。

  

此解决方案适用于所有流行的桌面浏览器以及Android Chrome和iOS 10/11 Safari / Chrome。 它甚至可以在大多数内联浏览器中使用,例如在Facebook-App中(在iOS 11上测试)。

找到这个花费我几个小时,所以我希望我能帮助你至少。

在移动Chrome上我启用了数据保存选项,默认情况下禁用自动播放静音video,在这种情况下,GIF是部分低质量+高带宽解决方案。