没有静音的 HTML 视频自动播放(或 youtube 是如何做到的)?

Ara*_*ker 6 html html5-video

我知道许多较新的浏览器现在会autoplay在视频未muted播放时禁用或将其静音然后播放。如果没有用户交互,也无法调用视频播放。这是可以理解的,但我想知道 youtube 如何仍然能够以声音开始视频。

我查了一下,他们确实使用了视频标签,只是没有使用任何autoplay/muted属性并加载一些 blob。这不是打开视频的用户交互,它也在隐身模式下打开链接时开始。

所以我的结论,应该还是有可能的。但是如何?或者浏览器是否为受信任的视频流网站添加了某种例外?

提前致谢

Wil*_*ong 10

对于 Youtube 案例,它可能是预先填充的白名单

https://blog.google/products/chrome/improving-autoplay-chrome/

如果您没有浏览历史记录,Chrome 允许自动播放 1,000 多个网站,我们发现在这些网站上,访问者使用声音播放媒体的比例最高。


其他通用情况可以参考以下规则(至少对于Chrome)

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

在以下情况下允许自动播放声音:

用户与域进行了交互(单击、点击等)。

在桌面上,用户的媒体参与指数阈值已被超过,这意味着用户之前曾播放过有声视频。

在移动设备上,用户已将站点添加到他或她的主屏幕。