我正在开发一个Web应用程序,它将播放JS中的歌曲。我拥有的代码是:
const song = {
play: () => {
document.querySelector('body .audio').play();
},
pause: () => {
document.querySelector('body .audio').pause();
}
};
当我调用song.play()时,控制台出现错误:
未捕获(承诺)的DOMException
仅此而已。我试图搜索互联网,但是没有任何答案。我该如何解决这个问题。
更新:我已经做了更多研究,结果发现我可以从控制台调用完全相同的脚本,并且可以正常运行,但不能从脚本中调用。
答案 0 :(得分:0)
var promise = document.querySelector('audio').play();
if (promise !== undefined) {
promise.then(_ => {
// Autoplay started!
}).catch(error => {
// Autoplay was prevented.
// Show a "Play" button so that user can start playback.
});
}