为什么这个播放音频的Javascript代码需要让alert()在前面工作?

时间:2014-04-24 02:53:50

标签: javascript angularjs audio

我想在浏览器上使用javascript播放.wav文件。以下代码不起作用;

var audio = new Audio("alert.wav");
audio.play();

然而,为了让它发挥作用,我可以通过在前面添加一个虚拟alert()来做一个简单的技巧。

    alert("Dummy");        
    var audio = new Audio("alert.wav");
    audio.play();

我不知道为什么会这样。我的第一个问题是如何在没有虚拟alert()的情况下播放音频?第二个问题是为什么添加虚拟alert()使事情有效?

此代码在AngularJS控制器中运行。不确定这是否重要。

1 个答案:

答案 0 :(得分:1)

好吧,我想我已经发现了这个问题。我使用不同的.wav文件测试了您的代码。没有警报框,它工作正常。也许是其中之一: a).wav文件的名称是警报。 (可能重命名文件?) b)它可能是文件本身。也许它不工作,也许重新下载它(但你得到它)或尝试类似的声音.wav文件?希望这有帮助!