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

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

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

HTML5音频简单的使用实例如下

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

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

<audio controls>

<source src="music.mp3">

<source src="music.m4a">

<source src="music.wav">

<source src="music.ogg">

</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音频地址。

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

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

最新文章

  1. 织梦多语言站点,{dede:include filename=&#39;&#39;/}引入问题
  2. windows命令——taskkill
  3. react+redux教程(一)connect、applyMiddleware、thunk、webpackHotMiddleware
  4. 新塘ARM平台交叉编译minigui界面库
  5. Tomcat(JVM)性能监控方法
  6. 修改Matlab 2012b默认工作路径
  7. css 细节收集
  8. [转]p2p端口映射工具 dog-tunnel
  9. Async详解之一:流程控制
  10. Algorithm for Maximum Subsequence Sum z
  11. Windows Server 2008 R2 搭建FTP服务
  12. TCP/IP详解学习笔记 这位仁兄写得太好了
  13. decimal类型不能为空,自定义update更新null值的问题。
  14. ext3文件系统反删除利器ext3grep应用实战
  15. cmd介面,进adb命令提示符error
  16. 【Hadoop】HDFS的java客户端编写
  17. Centos7 安装oracle数据库
  18. RocketMQ-广播模式消费
  19. 关于 Bootstrap的知识
  20. Spring Security 安全验证

热门文章

  1. SQL基本概述
  2. Arrays工具类的使用
  3. 第八章 Python之常用模块
  4. CentOS6.9下NFS配置说明
  5. 【剑指Offer】2、替换空格
  6. HDU - 1723 - Distribute Message
  7. Ajax跨域访问的问题
  8. 模型概念--MVC-MVVM
  9. Ural 1167 Bicolored Horses (DP)
  10. pomelo研究笔记-RPC服务端