audio标签如何实现顺序播放歌单?html搭配js音乐简单实现顺序播放

前言

<audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流。用的比较多音频格式是.mp3

<audio>标签常用属性如下表

属性描述
autoplayautoplay添加该属性后,音频会自动播放
controlscontrols设置后,显示控件,如播放按钮、音量
looploop添加该属性后,当音频播放结束后会重新开始播放
preloadpreload音频显示页面加载,准备播放,如已添加autoplay,则忽略该属性
srcurl播放音频的URL(地址)。

目前,html5<audio>标签只能同时播放一个音频文件,如何要添加多个MP3音频文件,然后按顺序一个接着一个连续播放,需要用JS代码来实现。

通过js来实现<audio>标签连续播放多个MP3音频,代码如下:

图片[1]-audio标签如何实现顺序播放歌单?html搭配js音乐简单实现顺序播放
<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音乐简单实现顺序播放

如果不想把歌曲文件放在本地,也可以在歌曲位置插入歌曲链接。

QQ、网易、酷狗、喜马拉雅等音频,如果有歌曲需要解码的,可以留言,帮你们解码

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
拿起笔,写下你的梦想,你的人生就从此刻起航
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容