如何在Javascript中每次单击按钮时播放不同的声音?

如何在Javascript中每次单击按钮时播放不同的声音?,javascript,Javascript,我试图弄清楚每次按下按钮时如何播放不同的声音(孩子们可以猜出动物的声音的小游戏) 在JS中,我有: var lion = new Audio("http://www.thewavsite.com/Animals/Lion03.wav"); 在我使用的HTML中: onclick="lion.play()" 是否可以将此方法用于6音程序?您应该通过JavaScript添加侦听器: var sounds = [ new Audio("/sounds/Lion03.wav"), new A

我试图弄清楚每次按下按钮时如何播放不同的声音(孩子们可以猜出动物的声音的小游戏)

在JS中,我有:

var lion = new Audio("http://www.thewavsite.com/Animals/Lion03.wav");
在我使用的HTML中:

onclick="lion.play()"

是否可以将此方法用于6音程序?

您应该通过JavaScript添加侦听器:

var sounds = [
  new Audio("/sounds/Lion03.wav"),
  new Audio("/sounds/Zebra03.wav"),
  new Audio("/sounds/SpaghettiMonster.wav")
];

var el = document.getElementById('my_id');
el.addEventListener(function() {
  // Take random sound from list of sounds:
  var sound = sounds[Math.floor(Math.random() * sounds.length];
  sound.play();
});
以及HTML:

<div id="my_id">click for sound</div>
点击查看声音

希望它能给你一个想法。

你应该通过JavaScript添加监听器:

var sounds = [
  new Audio("/sounds/Lion03.wav"),
  new Audio("/sounds/Zebra03.wav"),
  new Audio("/sounds/SpaghettiMonster.wav")
];

var el = document.getElementById('my_id');
el.addEventListener(function() {
  // Take random sound from list of sounds:
  var sound = sounds[Math.floor(Math.random() * sounds.length];
  sound.play();
});
以及HTML:

<div id="my_id">click for sound</div>
点击查看声音

希望它能给你一个想法。

我使用这个框架来开发游戏,它帮助很大 添加侦听器事件也很容易:

//To get a random number to playsound
var playNumber = Math.floor(Math.random()*4)
//playsound
this.win.playSoundEffect("sound_" + playNumber + ".mp3")
只有两行代码 下面是链接,例如:

您可以按F12键查看它播放的声音(最好使用chrome)

我认为使用框架开发游戏真的很容易


如果您对框架感兴趣,这里是在线框架链接,您可以在线测试自己:

我使用框架开发游戏,它帮助很大 添加侦听器事件也很容易:

//To get a random number to playsound
var playNumber = Math.floor(Math.random()*4)
//playsound
this.win.playSoundEffect("sound_" + playNumber + ".mp3")
只有两行代码 下面是链接,例如:

您可以按F12键查看它播放的声音(最好使用chrome)

我认为使用框架开发游戏真的很容易


如果您对框架感兴趣,这里是联机框架链接,您可以在线测试自己:

我这次使用了jquery,HTML音频标记与前面的代码结合使用,它起到了作用:

HTML:

点击这里,猜猜谁想吃你! JS(jQuery):

$(函数(){

“]

}));
});

这次我使用了jquery,HTML音频标记与前面的代码结合在一起,效果很好:

HTML:

点击这里,猜猜谁想吃你! JS(jQuery):

$(函数(){

“]

}));
});

你想到的非常有趣的游戏。我很高兴为任何有助于儿童教育的事情做出贡献。不管怎样,我想这可能对你有帮助。如果有任何问题,请告诉我,但这需要更多的面向对象方法

演示:

HTML


播放声音

你想到的非常有趣的游戏。我很高兴为任何有助于儿童教育的事情做出贡献。不管怎样,我想这可能对你有帮助。如果有任何问题,请告诉我,但这需要更多的面向对象方法

演示:

HTML


播放声音

您好,谢谢您的帮助,但您的代码似乎不起作用。。。下面是我使用的JS:var sounds=[new Audio(“),new Audio(”),new Audio(“)];var el=document.getElementsById('animals');el.addEventListener(函数(){//从声音列表中获取随机声音:var sound=sounds[Math.floor(Math.random()*sounds.length];sound.play(););和HTML:单击此处感谢您的耐心不,我已经尝试了http…我认为sintax有一些问题:var el=document.getElementById('anists');el.addEventListener(函数(){//从声音列表中获取随机声音:var sound=sounds[Math.floor(Math.random()*sounds.length];sound.play();});我使用了方括号,eventlistener函数的parentisis和花括号不匹配…此外,在这段代码中,主JS文件中的其他程序停止工作。试图修复它,但我没有取得任何进展。您好,感谢您的帮助,但您的代码似乎不起作用…这是我使用的JS:var sounds=[new Audio(“),new Audio(),新音频(“)];var el=document.getElementsById('animals');el.addEventListener(函数(){//从声音列表中获取随机声音:var-sound=sounds[Math.floor(Math.random()*sounds.length];sound.play();});和HTML:单击此处感谢您的耐心不,我已经尝试了http…我认为sintax有一些问题:var el=document.getElementById('anists');el.addEventListener(函数(){//从声音列表中获取随机声音:var sound=sounds[Math.floor(Math.random()*sounds.length];sound.play();});我使用方括号,eventlistener函数的parentisis和花括号不匹配…此外,在这段代码中,主JS文件中的其他程序停止工作。试图修复它,但我没有取得任何进展。感谢您的评论和代码…您的评论和代码似乎也很有趣,但我不得不说,这对我来说有点早,因为我仍在学习J这个小游戏是为了一个课程项目…但我会记住你的欢呼感谢你的评论和代码…你的评论和代码似乎也很有趣,但我不得不说这对我来说有点早,因为我还在学习JS/Jquery,这个小游戏是为了一个课程项目…但我会记住你的欢呼
<button onClick="playRandomAnimal()">
Play Sound
</button>