如何使用 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 在网页上自动播放声音的主要内容,如果未能解决你的问题,请参考以下文章