2017-10-29 5 views
0

これを達成しようとしているのは キーボードの「a」は「hello.wav」を演奏します。 キーボードの 'z'を押すと、キー「a」が「goodbye.wav」に変更されます。 キーボードで 'a'を押すと、 'hello.wav'ではなく 'goodbye.wav'が再生されます。キーボードの 'z'を押すと、押されたときにsound1.wavがsound2.wavを再生するキー "a"を変更します。

だから、HTMLの私は、オーディオのIDの束のdiv要素があります。

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

と音がキーコード= 65とjavascriptのコードである「」キーを押すことであるトリガするのである。

私は方法がわからない何
document.addEventListener('keydown', function(e) { 
     if (e.keyCode == 65) { 
     document.getElementById('c1').play(); 
     } 
    }); 

は、私は、キー「Z」を押したならば、キーコード== 65が今hello.wavの代わりにgoodbye.wav遊ぶだろうということです。

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

答えて

0

いくつかのフラグを使用してzが押されたかどうかを追跡でき、Aキーで適切な音楽を再生できます。私はあなたの要求を正しく理解していることを願っています。ここで

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 =!enableGoodbye'を' enableGoodbye = true; 'の代わりにtrueに設定するのではなく、' enableGoodbye'を反転させるだけです。フィドルが更新されました:http://jsfiddle.net/t8owxqo6/2/ – Vasan

+0

もう少し複雑です。彼らはどの順序でトグルしますか?それとも、ランダムにリストから1つを選んでいますか? – Vasan

関連する問題