Javascript 警告框阻止声音对象

Javascript alert box blocks sound object

我有个小问题。基本上,我正在尝试制作一个应用程序,它会在播放特定声音时弹出一个框。这是代码的错误部分:

    var audio = new Audio('song.mp3');
    audio.play();
    alert(1);

问题是音频在警告框之后播放。我想发生这种情况是因为应用程序没有立即加载歌曲文件,但我现在知道如何制作它了?

canplay 事件 在浏览器可以开始播放指定的 audio/video 时发生(当它缓冲到足以开始时)。

所以试试这个:

var audio = new Audio('song.mp3');
    audio.oncanplay  = function() {
        audio.play();
        alert("1");
    };