Chrome 自动播放政策 - Chrome 76

Posted

技术标签:

【中文标题】Chrome 自动播放政策 - Chrome 76【英文标题】:Chrome Autoplay Policy - Chrome 76 【发布时间】:2019-12-18 17:13:58 【问题描述】:

我正在构建一个在 Chrome 上运行的信息亭媒体,可以播放视频和音频。我知道默认情况下,chrome 只允许自动播放带有静音道具的视频。

我知道我可以通过 chrome://flags/#autoplay-policy 在 chrome 中启用标志来覆盖它

我刚刚更新到 Chrome 76,这个标志似乎消失了,视频的自动播放似乎不再起作用了!

知道如何克服这个问题吗?

[Chrome 76.0.3809.100(官方构建)(64 位)] Mac OS Mojave

【问题讨论】:

【参考方案1】:

我最近刚刚与 Google 的一些开发人员讨论了这个问题。我提交了一个错误。他们非常有帮助。

即使在 https://chromium-review.googlesource.com/c/chromium/src/+/1593800 中删除了自动播放策略 chrome 标志,您仍然可以从命令行使用特定的自动播放策略运行 Chrome。

不需要任何用户手势的自动播放策略。

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --autoplay-policy=no-user-gesture-required

他们说这个命令会保留,所以这很好,但更好的是 Chrome 允许您始终通过明确允许网站发出声音“站点设置 > 声音”来启用自动播放

祝你好运。

【讨论】:

完美!这解决了我的问题。感谢分享。 那么这个no-user-gesture-required 选项有什么作用?它总是允许自动播放?当这个#autoplay-policy 仍然可用时,禁用自动播放的设置值为“需要文档用户激活”。它的等效命令行选项是什么? (在我的测试中,使用--autoplay-policy=no-user-gesture-required 不会阻止视频自动播放) @webp "no-user-gesture-required" 表示用户无需与文档交互即可自动开始播放视频或音频源。 @code_secret 那么我应该使用什么值来防止视频自动播放? @webp 我不太明白你的意思。这篇文章说明了在信息亭模式下自动播放的问题。如果您不希望您的视频自动播放...您是否尝试添加标签 autostart="false" ?【参考方案2】:

您可以使用命令行代码在 kiosk 模式下执行 chrome,无需用户手势:

google-chrome-stable --kiosk http://google.com/ --new-window --start-maximized --incognito  --autoplay-policy=no-user-gesture-required --disable-features=PreloadMediaEngagementData,AutoplayIgnoreWebAudio,MediaEngagementBypassAutoplayPolicies &

【讨论】:

【参考方案3】:

根据 Chrome 的新政策: Chrome已经阻止了任何声音,我也遇到了这个问题。 我只是将此触发器单击添加到我的脚本页面,它确实可以正常工作:

$('body).trigger('click');

【讨论】:

在 Chrome 版本 87.0.4280.141 中试过,不适用于纯 js 或 jQuery。 你应该试试 Raw javascript 正如我在评论中提到的,我确实尝试过。简单地使用document.body.click() 也不起作用。此类由 JS 触发的事件不被视为“受信任”,因此不算作用户与页面的交互。 在您的play() 代码顶部尝试此代码$('body').trigger('click');【参考方案4】:

我只是在我的页面中添加一个 div 并在加载页面上调用点击触发器! 它工作正常!

<div id="test"></div>
<script>
    $(function()
        $("#test").trigger("click");
    )
</script>

【讨论】:

你确定?我无法用 document.getElementById("test").click() 复制 jQuery 有什么不同? 这里一样.. 用普通的 js 做不到

以上是关于Chrome 自动播放政策 - Chrome 76的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 新动作:取消 HTTPS 页面安全标记;暂时恢复网页自动播放功能

Chrome 66 新的自动播放策略会影响音频标签吗?

视频自动播放不能正常工作 chrome 和 safari?

用于数字标牌的 Chrome 中的 HTML5 视频自动播放

为啥我的 YouTube 链接没有在 Chrome 的 iframe 中自动播放? [复制]

JS自动播放音频 无效chrome设置 (Uncaught (in promise) DOMException: play() failed because the user didn't i