【问题标题】:HTML/JS - Play audio file on page loadHTML/JS - 在页面加载时播放音频文件
【发布时间】:2021-01-04 17:33:14
【问题描述】:

我会在打开网站后播放音频文件(循环播放)。
我知道浏览器对自动播放有限制,但是否可以使用 JavaScript 自动播放任何音频?
谢谢!

【问题讨论】:

标签: javascript html audio


【解决方案1】:

目前没有任何保证的方法; MDN 有following general guidance:

作为一般规则,您可以假设只有在以下至少一项为真时才允许媒体自动播放:

  • 音频已静音或音量设置为 0
  • 用户与网站进行了交互(通过点击、敲击、按键等)
  • 如果网站已被列入白名单;如果浏览器确定用户经常与媒体互动,这可能会自动发生,也可能通过首选项或其他用户界面功能手动发生
  • 如果自动播放功能策略用于向 an 及其文档授予自动播放支持。 否则,播放可能会被阻止。导致阻止的确切情况以及网站如何被列入白名单的具体情况因浏览器而异,但以上是很好的指导方针。

Chrome 和 Safari 的当前政策是,您不能只在页面加载后播放音频(除非它被静音)。

Chrome 有 following policies:

  • 始终允许静音自动播放。
  • 在以下情况下允许自动播放声音:
  • 用户与域进行了交互(点击、点击等)。
  • 在桌面上,用户的媒体参与指数阈值已被超过,这意味着用户之前播放过有声视频。
  • 用户已将网站添加到移动设备的主屏幕或在桌面设备上安装了 PWA。
  • 顶级框架可以将自动播放权限委托给其 iframe 以允许自动播放声音。

Safari 有关于自动播放的following guidance:

  • 网站应假定使用或需要用户手势点击才能播放。
  • 检测自动播放是否被拒绝很重要,因为用户现在可以关闭所有形式的自动播放,包括无声视频。
  • 自动播放限制是按元素授予的。

【讨论】:

  • 是的,我已经看到了这些规则,有什么方法可以在不违反任何规则的情况下增加音频的音量(从 0 开始)?
  • Afaik 没有。据我了解,更改音量将使浏览器重新评估这些规则。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多