HTML5 audio 如何实现播放多个MP3音频

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

<audio>标签经常使用属性以下表html

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

HTML5音频简单的使用实例以下html5

<audio src="http://www.lmlblog.com/blog/13/images/xia.mp3" controls autoplay></audio>java

但有时候你的浏览器不支持.MP3格式播放,这时就须要设置兼容多个浏览器的格式了,以下数组

<audio controls>浏览器

<source src="music.mp3">app

<source src="music.m4a">oop

<source src="music.wav">网站

<source src="music.ogg">ui

</audio>

不少小白把上面理解为音频播放列表,按顺序播放(即播放完music.mp3后,自动播放下一个music.m4a)。html5设成多个src,主要是有的浏览器没法播放个别音频格式,它从上到下读取播放,若是第一个mp3格式能播放,后面的就没用了。

之前给网页、网站添加音乐播放列表时,都是用网易音乐、虾米音乐中的“生成外链播放器”来给网页添加音乐的,但过一段时间,你会发现你添加的音乐列表某首音乐不能播放了,主要缘由是音乐版权问题。这时只能经过添加其余播放器或本身用代码来实现了。推荐阅读:网页如何嵌入腾讯/优酷视频播放器

网页添加网易音乐

虾米音乐生成代码连接

虾米音乐播放器制做

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

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

<div id="audioBox"> 
<script type="text/javascript"> 
window.onload = function(){ 
var arr = ["http://www.lmlblog.com/blog/bozhao/images/believe.mp3","http://www.lmlblog.com/blog/bozhao/images/shui.mp3"];               //把须要播放的歌曲从后往前排,这里已添加两首音乐,可继续添加多个音乐 
var myAudio = new Audio(); 
myAudio.preload = true; 
myAudio.controls = true; 
myAudio.src = arr.pop();         //每次读数组最后一个元素 
myAudio.addEventListener('ended', playEndedHandler, false); 
myAudio.play(); 
document.getElementById("audioBox").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>

将上面代码的音频地址改为你的MP3地址便可,可在后面添加多个mp3音频地址。

H5 audio实现连续播放显示地址

以上代码效果显示地址:http://www.lmlblog.com/blog/bozhao/ 网站添加播放器的方法除了上面说到的网易云生成外链播放器、虾米播放器(制做地址http://www.xiami.com/widget/imulti)添加,还有不少,欢迎交流。

文章来源于http://www.lmlblog.com/405.html

相关文章
相关标签/搜索