javascript - HTML 格式的音频播放列表
问题描述
我刚刚解决了,谢谢大家。
我正在尝试了解如何在 html 中制作音频播放列表,因此我尝试按照此处的教程进行操作:https ://www.youtube.com/watch?v=vtZCMTtP-0Y (代码如下),以实现我的目标. 唯一的问题是它不起作用,当一首歌曲结束时它总是返回到列表中的第二首歌曲,控制台也告诉我有一个“未捕获(承诺)DOMException”,我不知道如何解决。
function audioPlayer() {
var currentSong = 0;
$("#audioPlayer")[0].src = $("playlist li a")[0];
$("#audioPlayer")[0].play();
$("#playlist li a").click(function(e) {
e.preventDefault();
$("#audioPlayer")[0].src = this;
$("#audioPlayer")[0].play();
$("#playlist li").removeClass("current-song");
currentSong = $(this).parent().index();
$(this).parent().addClass("current-song");
});
$("#audioPlayer")[0].addEventListener("ended", function() {
currentSong++;
if (currentSong == $("#playlist li a").length) {
currentSong = 0;
}
$("#playlist li").removeClass("current-song");
$("#playlist li:eq(" + currentSong + ")").addClass("current-song");
$("#audioPlayer")[0].src = $("#playlist li a")[currentSong].href;
$("#audioPlayer")[0].play();
});
}
此外,我尝试使用 css 将正在播放的歌曲的名称设为蓝色,但结果是我点击的所有歌曲的名称都变为蓝色,而不仅仅是播放的歌曲。
#audioPlayer {
display: block;
margin-left: auto;
margin-right: auto;
}
#playlist li a {
color: white;
text-decoration: none;
}
#playlist .current-song a {
color: #0b80f7;
}
如果有人可以帮助我,我将不胜感激。
我刚刚解决了,谢谢大家。
解决方案
所以基本上问题是我在跨度内使用了“a”元素,如下所示:
<li class="current-song"> <span><a href="../music/lights.mp3"> Lights Down Low</a></span><span>3:43</span></li>
相反,我应该做的是:
<li class="current-song"> <a href="../music/lights.mp3"> Lights Down Low</a><span>3:43</span></li>
所以根据我的脚本它可以工作......有时我真的很愚蠢。感谢所有评论的人!
推荐阅读
- hololens - MRTK2 的 IMixedRealityPointerHandler 的一致性
- java - CentOS 6 JBoss:“javax.net.ssl.SSLHandshakeException:无法找到请求目标的有效证书路径”
- python - 使用循环摄取和编译多个固定宽度的文件
- python-3.x - 尝试将 base_64 编码图像传递给谷歌身份验证
- c# - MongoDB 转换为 C# int
- sockets - 我的程序可以检测连接的客户端套接字是通过 LAN(本地)还是 WAN(远程)?
- join - 在 Bigquery 中从同一个表中查询两个分区
- excel - 从特定行/单元格开始并连续粘贴到下一个空行/单元格的宏
- .net - 从站点获取数据
- mysql - 如何设置 laravel 护照以在不同的数据库上工作以进行单元测试