开发者问题收集

JavaScript错误:未被发现(在承诺中)Domexception

2019-01-06
5941

我正在开发一个 Web 应用程序,该应用程序将播放来自 JS 的歌曲。我拥有的代码是:

const song =  {
    play: () => {
        document.querySelector('body .audio').play();
    },
    pause: () => {
        document.querySelector('body .audio').pause();
    }
};

当我调用 song.play() 时,控制台中出现错误:

Uncaught (in promise) DOMException

没有了,就是这样。我曾尝试搜索互联网,但没有人能给我答案。我该如何解决这个问题。

更新: 我做了更多研究,结果发现我可以从控制台调用完全相同的脚本,而且它可以工作,但从脚本调用则不行。

1个回答

自动播放政策变更

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.
  });
}
sen
2019-01-06