我有以下的基于canvas的游戏的JS代码。通过JS重叠播放音频
var EXPLOSION = "sounds/explosion.wav";
function playSound(str, vol) {
var snd = new Audio();
snd.src = str;
snd.volume = vol;
snd.play();
}
function createExplosion() {
playSound(EXPLOSION, 0.5);
}
这工作,但它向服务器发送请求,每次被调用时,下载的声音文件。或者,如果我宣布了音频对象事先:
var snd = new Audio();
snd.src = EXPLOSION;
snd.volume = 0.5;
function createExplosion() {
snd.play();
}
这工作,但是如果之前的声音播放完createExplosion函数被调用,它不播放声音都没有。这意味着一次只允许一次播放声音文件 - 在发生多次爆炸的情况下,它根本不起作用。
有什么方法可以正确播放多次与自身重叠的音频文件?
结束了与使用AudioFX库去:HTTP:// codeincomplete .com/posts/2011/9/17/revisiting_html5_audio/ – 2013-02-28 03:25:00