使用纯 javascript 在点击事件上播放声音

Shu*_*ham 2 javascript

html代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Page Title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" type="text/css" media="screen" href="style.css" />

</head>
<body>

  <audio id="sounds" loop= "false" volume = "60">
    <source src="sounds/clap.wav" id="A" type="audio/wav">
    <source src="sounds/boom.wav" id="S" type="audio/wav">
    <source src="sounds/hihat.wav" id="D" type="audio/wav">
    <source src="sounds/kick.wav" id="F" type="audio/wav">
    <source src="sounds/snare.wav" id="G" type="audio/wav">
    <source src="sounds/ride.wav" id="H" type="audio/wav">
    <source src="sounds/tom.wav" id="J" type="audio/wav">
  </audio> 

<div class="keys">
  <div class="key">
    <button id="common1" class="key_link" type="submit">CLAP</button>
  </div>
  <div class="key">
    <a href="#" id="common2" type="button" class="key_link">BOOM</a>
  </div>
  <div class="key">
    <a href="#" id="common3" class="key_link">HIHAT</a>
  </div>
  <div class="key">
    <a href="#" id="common4" type="submit" class="key_link">KICK</a>
  </div>
  <div class="key">
    <a href="#" id="common5" type="submit" class="key_link">SNARE</a>
  </div>
  <div class="key">
    <a href="#" id="common6" type="submit" class="key_link">RIDE</a>
  </div>
  <div class="key">
    <a href="#" id="common7" type="submit" class="key_link">TOM</a>
  </div>
</div>

<script src="script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Javascript:

var button = document.getElementById('common1'); // 

button.addEventListener('click', myPlay); 

function myPlay() {
    var a = document.getElementById('A');
    a.play();
} ;
Run Code Online (Sandbox Code Playgroud)

第一个是按钮,其余的是锚标签。因为我只是不确定它会起作用。如果它不适用于锚点,那对我来说没问题,但它也不适用于按钮。

我还使用了onclick()with 按钮标签。但它也没有奏效。然后我在某处读到使用事件侦听器是更好的做法。所以我试图通过事件侦听器来实现它。

pab*_*o12 7

不需要包含音频标签。相反,您可以在 javascript 中说出您想要播放的音频。

function myPlay(){
    var audio = new Audio("sample.mp3");
    audio.play();
}
Run Code Online (Sandbox Code Playgroud)

当您执行此功能时,音频将播放。