随机选择音频文件(onclick效果)

时间:2014-10-02 08:36:43

标签: html audio random onclick click-counting

我已经成功地为我的clickcounter图像添加了一个onclick音频效果,但我想知道,有没有办法随机选择声音,而不是一个声音?当我点击我的图像时,会显示图像被点击的次数,并且会播放声音,但我希望它能够在每次点击时播放不同的(随机)音频文件(来自我的选择)

这些是我到目前为止按钮的脚本

的Javascript

function clickCounter(){
     var audio = document.getElementById("audio");
     audio.play();
     if(typeof(Storage)!=="undefined"){
         if (localStorage.clickcount)
         {
             localStorage.clickcount=Number(localStorage.clickcount)+1;
         }
         else
         {
             localStorage.clickcount=1;
         }
         document.getElementById("result").innerHTML="<center><b>You have clicked the poop
         </b>"+ localStorage.clickcount + "<b> times!</b></center>";
     }
     else{
         document.getElementById("result").innerHTML="I'm sorry to inform you that your browser
         does not support this web storage... I guess you could say that your browser is...
         shit! awwww yeaahh!";
     }
     cursor: pointer;
}

HTML

<center>
     <font face="chiller" color="#603913" "font size="300" <align="center"><b>Click the
     poop!</b>
</center>
<center>
    <p><picture onclick="clickCounter()"><picture
     onmouseover="document.getElementById('touch').play()"><img src="poop.png"></button></p>
</center>
<audio id="audio" src="fart-01.wav"></audio>
<audio id="touch" src="sticky goo.wav"></audio>
<div id="result"></div>

我该如何编写脚本?我知道我必须将它与我当前的onclick函数交织在一起,而且我必须制作一个表,可能还有tr或td标签。有人可以帮我这个吗?我无法使它发挥作用。

提前感谢所有人!

1 个答案:

答案 0 :(得分:1)

你可以使用一个开关盒。

您生成一个随机数,例如

var number = Math.floor((Math.random() * 3) + 1);

然后你可以使用开关盒来选择随机数产生的N种可能性的随机声音。

function setSound(){

    switch (number) {
    case 1:
        setSound1;
        return sound;
        break
    case 2:
         setSound2;
        return sound;
        break
    case 3:
         setSound3;
        return sound;
        break
    }
}

然后将returnsnd值添加到您要播放声音的代码中。

在这种情况下,您需要从swtich案例中返回您随机选择的声音文件的名称。