2013-10-17 43 views
0

我對jQuery和HTML相當陌生,我試圖編寫代碼,當某些按鍵被按下時會播放幾個不同的聲音。我已經想出瞭如何播放聲音,但是我需要循環在釋放鍵時停止並重置(即,使得可以快速連續按多次鍵並且聲音開始,停止並重新開始與每個keydown)。我認爲我需要爲它編寫一個函數或插​​件,但不知道如何去做。這裏是我的代碼:重置HTML <audio>在jquery中使用.keyup()循環

HTML:

<audio id="sound"> 
    <source src="sound.mp3" type="sound/mpeg"> 
    <source src="sound.ogg" type="sound/ogg"> 
    <embed src="sound.mp3"> 
</audio> 

和jQuery的:

$(function() { 
    $(document).on("keydown", function(key) { 
     switch(parseInt(key.which, 10)) { 
      case 65: 
       $("#sound").get(0).play(); 
       break; 
     } 
    }); 
}); 

我發現很多使用類似.setInterval和.currentTime設置循環計時器的信息,但似乎無法讓它適應我的情況。

任何幫助表示讚賞。謝謝!

保羅

回答

0

嘗試KEYUP處理

$(function() { 
    var sound = $("#sound").get(0); 
    $(document).on("keydown", function(key) { 
     switch(parseInt(key.which, 10)) { 
      case 65: 
       sound.play(); 
       break; 
     } 
    }).on('keyup', function(){ 
     sound.stop(); 
    }); 
});