window 重新加载后 JS 自动播放背景音频
JS Auto play background audio after window reload
我试过自动播放音频作为背景音乐。当我打开页面时,没关系。但是当我重新加载页面时,它无法播放。控制台日志错误:
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.
我的代码:
$(window).on('load', function() {
var soundSpin = new Audio('../images/gift/spin.mp3');
soundSpin.muted = false;
soundSpin.play();
soundSpin.addEventListener('ended', function() {
soundSpin.currentTime = 0;
soundSpin.play();
}, false);
});
我该如何解决?非常感谢。
您的代码没有任何问题。除非满足某些条件,否则现代浏览器 disable autoplay by default。通常,以下之一将允许自动播放:
- 用户点击页面*
- 媒体没有音频或默认静音
- 用户已明确将页面列入白名单以自动播放带音频的媒体
- 浏览器在检测到用户与页面频繁交互后启用自动播放
*通常每个 click 只允许一个动作。操作包括打开新 window、导航、自动播放媒体等...
我试过自动播放音频作为背景音乐。当我打开页面时,没关系。但是当我重新加载页面时,它无法播放。控制台日志错误:
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.
我的代码:
$(window).on('load', function() {
var soundSpin = new Audio('../images/gift/spin.mp3');
soundSpin.muted = false;
soundSpin.play();
soundSpin.addEventListener('ended', function() {
soundSpin.currentTime = 0;
soundSpin.play();
}, false);
});
我该如何解决?非常感谢。
您的代码没有任何问题。除非满足某些条件,否则现代浏览器 disable autoplay by default。通常,以下之一将允许自动播放:
- 用户点击页面*
- 媒体没有音频或默认静音
- 用户已明确将页面列入白名单以自动播放带音频的媒体
- 浏览器在检测到用户与页面频繁交互后启用自动播放
*通常每个 click 只允许一个动作。操作包括打开新 window、导航、自动播放媒体等...