2017-10-29 151 views
0

所以我想要完成的是這樣的: 按鍵盤上的'a'播放'hello.wav'。 在鍵盤上按'z'將把'a'鍵改爲'goodbye.wav'。 現在通過按鍵盤上的'a',它會播放這個'goodbye.wav'而不是'hello.wav'。當我按下鍵盤上的'z'時,我希望它改變鍵「a」,它已經sound1wav現在播放sound2.wav時按

所以在HTML我有一堆音頻ID的一個div:

  <audio id="c1" controls style="display:none"> 
       <source src="hello.wav" type="audio/mpeg"> 
      </audio> 

,並觸發聲音是通過按鍵「A」,這是鍵碼= 65和JavaScript代碼:

document.addEventListener('keydown', function(e) { 
     if (e.keyCode == 65) { 
     document.getElementById('c1').play(); 
     } 
    }); 

我不知道該怎麼做,如果我按下的鍵「Z」鍵碼,然後== 65將現在玩goodbye.wav代替hello.wav的:

 <audio id="ex1" controls style="display:none"> 
      <source src="goodbye.wav" type="audio/mpeg"> 
    </audio> 

回答

0

您可以使用某個標誌跟蹤z是否被按下,並在A鍵上播放approrpiate音樂。希望我已經正確理解你的要求。

var enableGoodbye = false; 
document.addEventListener('keydown', function(e) { 
    if (e.keyCode == 65) { 
    if (enableGoodbye === true) 
     document.getElementById('ex1').play(); 
    else 
     document.getElementById('c1').play(); 
    } else if (e.keyCode == 90) { //If Z, set flag to true 
     enableGoodbye = true; 
    } 
}); 

這裏是一個小提琴:http://jsfiddle.net/t8owxqo6/

+0

謝謝!所以z被按下並且enableGoodbye = true。如果再次按下z,我怎樣才能讓它恢復爲假? – Qwisatz

+0

@Qwisatz在這種情況下,只需簡單地將'enableGoodbye'翻轉而不是將其設置爲true,即代替'enableGoodbye = true;',使用'enableGoodbye =!enableGoodbye'。更新小提琴:http://jsfiddle.net/t8owxqo6/2/ – Vasan

+0

這有點複雜。他們將以何種順序切換?或者是從列表中隨機選擇一個呢? – Vasan

相關問題