我在我的网站上有这些视频,其中包含以下属性:
<video width="100%" poster="poster_url.png" autoplay loop muted playsinline>
<source src="video_url.mp4" type="video/mp4">
</video>
在我安装Safari 11之前,一切正常 . 此版本显示海报图像,即使没有音轨,也不会自动播放视频 . 看看我的site .
我在自己的Safari笔记本电脑上看到自动播放视频on other sites(即使没有静音) .
任何帮助将不胜感激!
5 回答
我也遇到了这个问题,因为在网站的背景下播放的短mp4 . 通过使用
controls="true"
和playsinline
限定视频标签,我能够获得适用于iOS Safari 11的解决方案而无需JS .例:
Note: 野生动物园不像我一样,并且挣扎的时间超过你想承认的时间 .
是的,似乎Safari也阻止静音视频(甚至没有声音)......
我找到了一个解决方法,但它并不漂亮,我并不为此感到骄傲:
我已经尝试过这样做而没有超时,但Safari通过抛弃Promise拒绝来拒绝这一点 . 我不知道为什么......
我发现最可靠的方法是确保:
标签上的
标签上的
看起来像这样:
我遇到了类似的问题并用canplaythrough事件(或canplay事件)解决了它 . 这可能解决了Abayob解决方案中对setTimeout的需求:
将
src
属性放在<video>中,而不是使用<source>使用<source>,只有当页面加载时元素在视图中时才有效(在safari 11.0上测试)
Auto-Play Policy Changes for macOS的链接 .