JavaScript单击功能播放mp3,而不是循环

时间:2013-07-02 17:59:02

标签: javascript jquery html5 audio

我想创建一系列函数,用于存储点击时播放的mp3文件。 例如。我想说,点击#3播放某个声音或mp3,点击#5等,等等。

    var a1_Events = [newsound1, newcoolersound2, coolestsound3],
        a1_c = 0;

        function newsound1(){

        // I would like to trigger a mp3 here. But not loop.
}

        function newcoolersound2(){

        // I would like to trigger a mp3 here. But not loop.
}

        function coolestsound3(){

        // I would like to trigger a mp3 here. But not loop.
}

    $('#area1').click(function(){
       a1_Events[a1_c++ % a1_Events.length]();
    });

更新

好的,我想我有一个解决方案;但它看起来有点笨重 - 希望有更好的东西;但我的实施计划包括以下嵌套在div中,并通过上面的功能区域中的show / hide onClick显示按钮。

//mp3 File 1
<audio id="id1" src="01.mp3"></audio>
<button onClick="document.getElementById("id1").play()">Play</button>
<button onClick="document.getElementById("id1").pause()">Stop</button>

1 个答案:

答案 0 :(得分:1)

所以这就是我以前做过的事情:

document.getElementById("sound").innerHTML=
  "<embed src=\"ding.wav\" hidden=\"true\" autostart=\"true\" loop=\"false\" ><source src=\"ding.ogg\"><source src=\"ding.mp3\"><source src=\"ding.aac\"></embed>";

您可以放置​​任何格式的文件(只要注意某些浏览器不会支持某种格式)。另一种选择是将此代码放在“div”元素中,然后在声音播放后将其删除。