当我按下键盘上的'z'时,我希望它改变键'a',它有sound1.wav,现在按下时会播放sound2.wav

时间:2017-10-29 00:47:50

标签: javascript audio keyboard keycode

所以我想要完成的是: 按下键盘上的'a'会播放'hello.wav'。 按键盘上的'z'键将'a'键改为'goodbye.wav'。 现在通过在键盘上按'a'来播放'goodbye.wav'而不是'hello.wav'。

所以在html中我有一堆音频ID:

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

并触发声音是按键“a”,即keycode = 65,javascript代码为:

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

我不知道该怎么办,如果我按下“z”键,那么keycode == 65现在会播放goodbye.wav而不是hello.wav:

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

1 个答案:

答案 0 :(得分: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/