我在iOS11设备上自动播放视频时遇到了一个大问题(至少在iphone 7 ios 11.2.5 safari上测试过)。
有关自动播放视频的政策变更后,我们的自动播放视频停止了工作。我们的应用程序严重依赖视频。
我们深刻改变了用户与视频交互的所有步骤,以确保它们没有被阻止,并且它们现在默认为静音,并且在用户手势后触发自动播放。所以视频自动播放静音,我们认为我们已经做了几天的工作。
但是有一个问题:上周,我正在测试我的girklfriend 11.2 iphone网站和boum ......视频被封锁了。我不明白为什么......发现原因是......我在给电池充电时正在使用她的手机!
事实上在ios11上,当你为手机充电时,它会自动进入“低功耗模式”嘿嘿......从而阻止自动播放视频。如果您进入设置> itune和苹果商店并转到“自动播放视频”设置,您将看到(当它在低功耗模式下充电时):
“低功耗模式开启时,自动播放视频不可用”....
因此,世界各地成千上万的用户在充电时将连接到我们的网站将会有破碎的体验而且没有视频加载! (即使在用户激活声音之前静音,我们也非常依赖自动播放视频)
在这种情况下,我们如何检测到这一点并至少向用户提供解释器消息,例如“我们的视频无法在低功耗模式下播放(或为手机充电)。
我理解苹果茁壮成长以保护用户形成自动播放不良体验,但在这里我们努力改变我们的代码库以符合他们的新政策,但我们在他们的文档中看不到我们的网络应用程序(javascript)如何检测低功耗模式'或手机充电状态)。这是不公平的:如果他们在某些情况下改变行为,例如低功耗模式,他们应该按照自己的规则进行游戏,让我们通过让我们检测到这个设备状态来创建一个合规但高质量的体验。这样我们就可以为用户提供一种B计划或后备计划。
任何想法如何检测iphone正在充电或在javascript为web应用程序的低功耗模式?或者如何处理这个?
我认为您提到的设置属性仅适用于App Store中的视频预览,而不适用于任何WebView。事实上,我现在在手机上尝试了这个W3 Demo,如果我在视频标签中添加muted
或inline
,它会自动播放。 (所以它看起来像这样:<video width="320" height="240" controls autoplay muted inline>
)。
注意:我的手机目前为17%,无论我是否正在充电,它都能正常工作,低功耗模式似乎也没有任何影响。我在iOS 11.4 Beta上。
重要的是这些WebKit Blogpost中记录的附加标签。