Safari 11 上的视频自动播放
Posted
技术标签:
【中文标题】Safari 11 上的视频自动播放【英文标题】:Video autoplay on Safari 11 【发布时间】:2019-01-21 01:16:08 【问题描述】:您好,您已注意到视频不再在 safari 11 上自动播放。下面是我的代码,它可以在 Chrome 上运行,因为它必须被静音。它只显示海报图像。任何帮助。
<video poster="poster_url.png" autoplay muted playsinline>
<source src="video_url.mp4" type="video/mp4">
</video>
【问题讨论】:
【参考方案1】:以下在 OSX 10.12.6 上的 Safari 11.1.2 上为我自动播放
<video poster="poster_url.png" autoplay muted playsinline>
<source src="http://download.blender.org/peach/trailer/trailer_480p.mov" type="video/mp4">
</video>
规则确实经常变化,用户或组织也可以设置自己的偏好,因此 Safari 团队建议您始终检查代码以查看视频是否能够自动播放:
var promise = document.querySelector('video').play();
if (promise !== undefined)
promise.catch(error =>
// Auto-play was prevented
// Show a UI element to let the user manually start playback
).then(() =>
// Auto-play started
);
在撰写本文时这里有更多详细信息:
https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/【讨论】:
@PaulSlocum - 你的意思是代码 sn-p?我刚刚在 Safari 12.01 和 OSX 10.13.16 上对其进行了测试,它对我有用。您是否可能在浏览器中设置了一些偏好来停止自动播放?视频有白色边框,因此如果您的浏览器窗口很小以查看视频本身,则可能值得滚动该框。 停止自动播放是最新版本的默认设置。告诉所有访问您网页的人进入设置并更改设置显然不是一种选择。您的答案是之前的标准答案,但现在不适用于默认浏览器设置。 @PaulSlocum Safari 12.0.1 是最新的 Safari 版本,我刚刚在两台不同的机器和上面的 sn-p 上验证了它,加上一个使用此代码作为额外检查的简单测试站点,自动播放没有对默认浏览器设置的任何调整。也许我误解了你的cmets? @PaulSlocum - 为了完整性,还在运行最新 Safari 的 ios 11.2.6 上进行了测试,并且它也会在那里自动播放。 它在我使用的任何版本的 Safari 11 中都无法使用,但它似乎在 MacOS 和 iOS 上的 Safari 12 中都可以使用以上是关于Safari 11 上的视频自动播放的主要内容,如果未能解决你的问题,请参考以下文章
Vimeo 视频自动播放在 Safari 11 中不起作用:NotAllowedError