如何使用 html 和 javascript 在网页上自动播放声音

Posted

技术标签:

【中文标题】如何使用 html 和 javascript 在网页上自动播放声音【英文标题】:How to autoplay sound on webpage with html and javascript 【发布时间】:2021-02-11 22:25:30 【问题描述】:

我正在构建一个测验应用程序,基本上,我希望在用户进入网页开始播放测验时开始播放声音。

我尝试使用 javascript 在页面加载时激活声音,但浏览器不允许这样做,它说:

只有在用户批准后才允许自动播放。

我尝试使用 jquery 自动单击按钮来启动声音,但它仍然不起作用。

const themeSound = new Audio("theme.mp3");
themeSound.play();

浏览器错误:未捕获(承诺中)DOMException:play() 失败 因为用户没有先与文档进行交互。

但如果我把这个功能放在一个按钮中,然后按下按钮,声音就会完美播放。

【问题讨论】:

【参考方案1】:

这个限制是浏览器加在你身上的。

例如,在 chrome 中,在以下情况下允许自动播放声音:

用户与域进行了交互(点击、点击等)。 在桌面上, 已超过用户的媒体参与指数阈值,这意味着 用户之前播放过有声视频。 用户已添加 将网站移到他们在移动设备上的主屏幕或安装 PWA 桌面。

通过使用 autoplay-policy 参数 chrome.exe --autoplay-policy=no-user-gesture-required 启动来禁用此功能。

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

【讨论】:

以上是关于如何使用 html 和 javascript 在网页上自动播放声音的主要内容,如果未能解决你的问题,请参考以下文章

使用手机在网状态查询 API 有效防止虚假注册的设计思路

手机在网时长和在网状态的区别

人体姿态估计在网约车风控系统中的应用

解决js输出汉字乱码问题

是否可以将元素附加到 JavaScript 节点列表?

如何使用Javascript禁用和启用HTML表?