我正在尝试为第二个声音添加延迟,因此它仅在第一个声音播放完毕后播放。我怎样才能做到这一点?我已经尝试过setTimeout,但它不起作用。
var notify = new Audio('resources/vox/notify.mp3');
var hello = new Audio('resources/vox/hello.mp3');
var commands = {
'hi': function () {
notify.load();
notify.play();
hello.load();
setTimeout(hello.play(), 3000);
$('#hello_r').show("slow");
}
};
答案 0 :(得分:1)
尝试
setTimeout(function() { hello.play(); }, 3000);
答案 1 :(得分:1)
在setTimeout:
的回调中需要一个匿名函数包装器setTimeout(function() {
hello.play();
}, 3000);
如果您要在音频标签中呈现音频文件,您还可以执行以下操作:
<audio id="Notify" onended="playHello();"></audio>
假设setTimeout
是一种相当黑客的方式来解决这个问题。有关DOM ended
属性的详细信息,请参阅this链接。