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

Posted

技术标签:

【中文标题】没有静音的 HTML 视频自动播放(或者 youtube 是如何做到的)?【英文标题】:HTML video autoplay without muted (or how does youtube do it)? 【发布时间】:2018-11-26 04:12:25 【问题描述】:

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

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

所以我的结论是,它应该仍然是可能的。但是怎么做?或者浏览器是否为受信任的视频流媒体网站添加了某种例外?

提前致谢

【问题讨论】:

【参考方案1】:

对于 Youtube 的情况,它可能是一个预先填充的白名单

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

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


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

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

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

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

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

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

【讨论】:

谢谢,有道理

以上是关于没有静音的 HTML 视频自动播放(或者 youtube 是如何做到的)?的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 不自动播放静音视频

英华在线助手-自动静音连播-自动跳转到未完成视频-视频暂停超时播放提示音

英华在线助手-自动静音连播-自动跳转到未完成视频-视频暂停超时播放提示音

React (HTML) 视频标签不会在移动设备上自动播放

如何自动播放静音的 Youtube 视频 (IFrame API)?

Chrome 64 Mobile Android 未预加载且未自动播放静音视频