以下是澄清说明的示例代码。 问题:实际上我可以通过点击播放歌曲,但问题是每当我从列表中点击其他歌曲或甚至同一首歌本身时,它就会开始与之前点击的歌曲一起播放。每次点击都会播放正在播放的歌曲,之前点击的歌曲不会暂停。
我尝试了一些东西,但头疼。请帮助我解决任何问题:(
var audio;
$("#playlist li").click(function () {
songname = $(this).text();
audio = new Audio('mypath/songs/'+songname);
audio.play();
});

答案 0 :(得分:1)
代码完成了您的要求。点击它只是触发歌曲。你没有要求它停止正在播放的内容并重新开始。在您的点击功能中,您需要检查是否定义了音频,如果是,则停止它。这将指的是一首已播放的歌曲,因此您想要停止播放。代码应该类似于
var audio;
$("#playlist li").click(function () {
//HERE you need to stop if a song is currently playing
if (audio) {
audio.stop();
}
songname = $(this).text();
audio = new Audio('mypath/songs/'+songname);
audio.play();
});