Javascript按钮播放随机声音
Javascript button plays random sound
所以我是新手,需要一些(也许很多)帮助。我想要一个能够按下一个按钮,并有一个随机的声音播放。到目前为止,我认为我所做的是对的,但我真的不知道如何使它起作用。
这是我的Javascript
function mySounds()
{
var x = Math.floor((Math.random() * 10) + 1);
var sound = ["sound1", "sound2", "sound3", "sound4", "sound5", "sound6", "sound7", "sound8", "sound9", "sound10"];
}
sound1 = 1;
sound2 = 2;
sound3 = 3;
sound4 = 4;
sound5 = 5;
sound6 = 6;
sound7 = 7;
sound8 = 8;
sound9 = 9;
sound10 = 10;
if (x === sound1){
function sound1play(){
var sound1 = new Audio();
sound1.src = "Pokemon.mp3";
sound1.play();
}
}
if (x === sound2){
function sound2play() {
var sound2 = new Audio();
sound2.src = "Wonderwall.mp3";
sound2.play();
}
}
if (x === sound3){
function sound3play() {
var sound3 = new Audio();
sound3.src = "Tacobell.mp3";
sound3.play();
}
}
if (x === sound4){
function sound4play() {
var sound4 = new Audio();
sound4.src = "Starwars.mp3";
sound4.play();
}
}
if (x === sound5){
function sound5play() {
var sound5 = new Audio();
sound5.src = "Mcdonalds.mp3";
sound5.play();
}
}
if (x === sound6){
function sound6play() {
var sound6 = new Audio();
sound6.src = "KFC.mp3";
sound6.play();
}
}
if (x === sound7){
function sound7play() {
var sound7 = new Audio();
sound7.src = "Salvia.mp3";
sound7.play();
}
}
if (x === sound8){
function sound8play() {
var sound8 = new Audio();
sound8.src = "Allstar.mp3";
sound8.play();
}
}
if (x === sound9){
function sound9play() {
var sound9 = new Audio();
sound9.src = "Funtime.mp3";
sound9.play();
}
}
if (x === sound10){
function sound10play() {
var sound10 = new Audio();
sound10.src = "Clothes.mp3";
sound10.play();
}
}
document.getElementById('soundbutton').addEventListener('click', soundplay);
我的HTML
<a href="#" id="soundbutton">Press</a>
<script type="text/javascript" src="popup.js"></script>
试试这个
function mySounds() {
var x = Math.floor((Math.random() * 10) + 1);
var sound = new Audio();
switch (x) {
case 1:
sound.src = "Pokemon.mp3";
break;
case 2:
sound.src = "Wonderwall.mp3";
break;
case 3:
sound.src = "Tacobell.mp3";
break;
case 4:
sound.src = "Starwars.mp3";
break;
case 5:
sound.src = "Mcdonalds.mp3";
break;
case 6:
sound.src = "KFC.mp3";
break;
case 7:
sound.src = "Salvia.mp3";
break;
case 8:
sound.src = "Allstar.mp3";
break;
case 9:
sound.src = "Funtime.mp3";
break;
case 10:
sound.src = "Clothes.mp3";
break;
}
sound.play();
}
document.getElementById('soundbutton').addEventListener('click', mySounds);
我建议这样做。没有必要使用数组来获取歌曲,您正在编写不必要的额外代码。
//declare a sound variable
var sound;
//function to generate a random number
function generateRandomNumber() {
return Math.floor((Math.random() * 2) + 1);
}
function playSound(){
//assign random number to x
var x = generateRandomNumber();
//if the sound exists pause, otherwise
//create a new instance of the sound object
if (sound) {
sound.pause();
} else {
sound = new Audio();
}
if(x == 1) {
sound.src = "http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major.mp3";
} else if( x == 2 ) {
sound.src = "http://www.stephaniequinn.com/Music/The%20Entertainer.mp3";
}
//play sound
sound.play();
}
document.getElementById('soundbutton').addEventListener('click', playSound);
<a href="#" id="soundbutton">Press</a>
你根本不需要开关。只需要得到一个介于0和你拥有的声音文件数之间的随机数,然后将其用作这些声音文件数组的索引。
var sounds = [
"Pokemon.mp3",
"Wonderwall.mp3",
"Tacobell.mp3",
"Starwars.mp3",
"Mcdonalds.mp3",
"KFC.mp3",
"Salvia.mp3",
"Allstar.mp3",
"Funtime.mp3",
"Clothes.mp3"
];
var sound;
//function used to create a random number
function generateRandomNumber(max) {
return Math.floor(Math.random() * max);
}
function playSound() {
//create a random number and assign to x
var x = generateRandomNumber(sounds.length - 1);
var soundSrc = sounds[x];
//create a new instance of the audio object
if (sound) {
sound.pause();
} else {
sound = new Audio();
}
sound.src = soundSrc;
//play the sound
sound.play();
}
document.getElementById('soundbutton').addEventListener('click', playSound);
<a href="#" id="soundbutton">Press</a>
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- 如何访问声音管理器2创建的声音对象
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 使用当前日期生成随机id
- 从a-z中随机选择一个字母
- RequireJ无法随机加载脚本
- 单击按钮时显示随机字符串
- Ajax更新面板随机错误'PRM_MissingPanel'
- 在Wordpress网站的图像点击上播放随机声音
- 当我点击一个按钮时随机选择一个声音来重现的脚本
- 在Javascript中播放伴随随机图像的声音
- 如何从数组中选择随机声音?(JS)
- 如何在javascript中随机播放声音
- js 中的随机声音
- 随机播放声音重叠
- 来自Javascript数组的随机声音
- Javascript和Howler.js -如何选择一个随机声音
- 我如何在按钮点击上播放随机声音?JavaScript
- Javascript按钮播放随机声音
- 如何播放随机的声音没有重复?播放完所有文件然后再次开始新的声音循环