我有以下的基於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