单击时播放音频文件

时间:2016-11-09 13:49:24

标签: javascript jquery

我试图这样做,当你点击一个按钮时,它会回显一个人的名字,从ajax到php array&然后播放那里的歌曲。

这是我现在所拥有的;

$(document).ready(function() {
    $(".button").on("click", function() {
        $.ajax({
            url: "includes/ajax.php"
        }).done(function(msg) {
            console.log(msg);
            $(".person").html(msg);
            if (msg == "name") { 
                $('a.click').append("<audio class='audio' src='includes/songs/song.mp3' autoplay></audio>");
            } else {
                $('audio').remove();
            }
        });   
    });
});

这确实有效但这意味着我必须有10个不同的if语句,我不想​​这样做。

最好的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以创建动态链接:

$().append("<audio src='/songs/"+msg+".mp3'>");

或者您可以使用数据库解析音频并将动态网址传递回客户端,或者您可以创建一个存储数据的对象:

var songof={
tim:"/songs/a.mp3",
bob:...
}

而不是:

url=songof[msg];

或者你可以动态地解决这首歌(你必须在php中做得好)

 <audio src="resolvesong.php?tim">

PS:如果一个人被点击两次会怎么样?比歌曲会被下载并多次添加。所以存储下载的歌曲是个好主意:

var songof={};
newsong=document.createElement("audio");
newsong.src="url.mp4";
document.body.appendChild(newsong);
songof["tim"]=newsong;

玩耍

songof["tim"].play();