如何在JavaScript中按键播放声音?

时间:2017-05-13 22:39:36

标签: javascript audio

我试图编写我的JavaScript代码,以便只有在按下某个键时才会播放声音。我试图将它与之关联的HTML代码是:

<div data-key="65" class="key">
  <kbd>A</kbd>
  <span class="sound">clap</span>
</div>

数据键稍后在HTML文档中与音频文件相关联。我需要在JavaScript中进行设置,以便在&#39; A&#39;按下它播放声音。到目前为止,我已经尝试过:

document.querySelector('65').addEventListener('onkeydown', function() {
playAudio ();
});

关于如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:3)

你应该这样做。

首先,创建一个音频对象并隐藏它:

&#13;
&#13;
<audio id="audio" controls style="display:none">
  <source src="http://butlerccwebdev.net/support/html5-video/media/soundfile.mp3" type="audio/mpeg"> Your browser does not support the audio element.
</audio>
&#13;
&#13;
&#13; 然后为按键创建一个EventListener,并确保它是正确的密钥:

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

https://jsfiddle.net/cwvfmLvk/6/

答案 1 :(得分:1)

稍作修改后,您可以将指定的键用作音频剪辑的触发

  if (e.keyCode == 65) {
    if(document.getElementById('audio').paused){
    document.getElementById('audio').play();
   }
   else{
    document.getElementById('audio').pause;
  }
});

此处它将用作音频文件的触发器。 图片来源:Andreas Moldskred