前言
<audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流。用的比较多音频格式是.mp3
<audio>标签常用属性如下表
属性 | 值 | 描述 |
autoplay | autoplay | 添加该属性后,音频会自动播放 |
controls | controls | 设置后,显示控件,如播放按钮、音量 |
loop | loop | 添加该属性后,当音频播放结束后会重新开始播放 |
preload | preload | 音频显示页面加载,准备播放,如已添加autoplay,则忽略该属性 |
src | url | 播放音频的URL(地址)。 |
目前,html5<audio>标签只能同时播放一个音频文件,如何要添加多个MP3音频文件,然后按顺序一个接着一个连续播放,需要用JS代码来实现。
通过js来实现<audio>标签连续播放多个MP3音频,代码如下:
![图片[1]-audio标签如何实现顺序播放歌单?html搭配js音乐简单实现顺序播放](https://www.cnnc404.com/wp-content/uploads/html-audio.png)
<div id="music">
<script type="text/javascript">
window.onload = function(){
var arr = ["music/南征北战NZBZ - 明天 (320CBR).mp3","music/叶林晓舟 - 曾经我也想过一了百了.mp3","music/南征北战NZBZ - 骄傲的少年.flac"]; //把需要播放的歌曲从后往前排,这里已添加两首音乐,可继续添加多个音乐
var myAudio = new Audio();
myAudio.preload = true;
myAudio.controls = true;
myAudio.src = arr.pop(); //每次读数组最后一个元素
myAudio.addEventListener('ended', playEndedHandler, false);
myAudio.play();
document.getElementById("music").appendChild(myAudio);
myAudio.loop = false;//禁止循环,否则无法触发ended事件
function playEndedHandler(){
myAudio.src = arr.pop();
myAudio.play();
console.log(arr.length);
!arr.length && myAudio.removeEventListener('ended',playEndedHandler,false);//只有一个元素时解除绑定
}
}
</script>
</div>
最后注意文件索引位置,根据自己的需求放置位置
![图片[2]-audio标签如何实现顺序播放歌单?html搭配js音乐简单实现顺序播放](https://www.cnnc404.com/wp-content/uploads/html-audio1.png)
如果不想把歌曲文件放在本地,也可以在歌曲位置插入歌曲链接。
QQ、网易、酷狗、喜马拉雅等音频,如果有歌曲需要解码的,可以留言,帮你们解码
© 版权声明
分享是一种美德,转载请保留原链接。
THE END
暂无评论内容