<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

更多专业前端知识,请上 【猿2048】www.mk2048.com

HTML5 audio 如何实现播放多个MP3音频相关推荐

  1. html5自动播放音乐外链,HTML5 audio 如何实现播放多个MP3音频

    标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. 标签常用属性如下表 属性 值 描述 autoplay autoplay 添加该属性后,音频会 ...

  2. html 多个mp3,HTML5 audio 如何实现播放多个MP3音频

    标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. 标签常用属性如下表 属性 值 描述 autoplay autoplay 添加该属性后,音频会 ...

  3. html5播放多个mp3,HTML5 audio 如何实现播放多个MP3音频

    标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. 标签常用属性如下表 属性 值 描述 autoplay autoplay 添加该属性后,音频会 ...

  4. html如何播放多个mp3,HTML5_audio_如何实现播放多个MP3音频

    &lt不的期是范添事大部会基近说小间进围砖本的;audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式支器事的后功发久这含层请间业在屏 ...

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

    方法一:audio标签 <audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. <audio>标签常用属性如下 ...

  6. HTML5 audio与video标签实现视频播放,音频播放

    随着互联网的飞速发展以及HTML5的应用,越来越多的项目中用到video,audio当常用标签. audio 标签属性 <audio src="song.mp3" contr ...

  7. html5 audio 获取播放时间,html5 audio 延时获取播放路径播放失败

    为什么audio对象在延时1000毫秒之后就不能执行播放呢? 歌曲的路径需要从数据库中获取,所以需要用ajax来交互,但是发现假如时间过长即使获取到路径也不能执行播放. 为方便测试使用setTimeo ...

  8. python播放音频文件_详解使用pygame播放一段MP3音频文件

    近日,在梳理pygame模块的时候发现一个很有用的模块mixer模块,这个模块翻译过来就是混音器,它可以加载和播放音频文件,甚至可以对混音器进行设置和处理,其功能非常强大.今天,我们一起来梳理一下混音 ...

  9. html5录制mp3,html5 录制mp3音频,支持采样率和比特率设置

    13年的时候做过html5录音,一个问题是保存的wav格式文件很大,当初用了一个迂回的方式,上传到服务器后调用 lame 编码器转换,但由于文件大,上传较慢.不得不说,前端技术发展真是日新月异,有人实 ...

最新文章

  1. php 经纬度 摩卡 转换,WGS84经纬度坐标与WEB摩卡托坐标转换
  2. 搜索引擎:文本分类——TF/IDF算法
  3. 2020黑群晖最稳定版本_打造完美6.2.3黑群晖,正确显示 CPU,支持Nvme缓存
  4. Hadoop集群(第6期)_WordCount运行详解
  5. shell bash判断文件或文件夹是否存在
  6. pthread_cond_signal函数《代码》--生产者与消费者
  7. [JSOI2008]Blue Mary的战役地图
  8. Codevs 1794 修剪花卉
  9. 【深度学习原理】交叉熵损失函数的实现
  10. 关于IplImage中widthstep的大小与width,nchanne
  11. 汽车车载诊断基础知识
  12. vb6.0中的Private Declare Function的含义
  13. 我的世界服务器mcyc.win怎么验证,RTX 2060 光线追踪效果逆天,让《我的世界》变仙境!华硕天选游戏笔记本体验教程...
  14. SAP - VL10B 执行采购订单,没有采购订单信息问题
  15. 什么是做空 什么是做空期权波动率?
  16. Gnome桌面的录屏插件easyscreencast
  17. 笑谈游览器-有图有真相
  18. 谁是鱼谁是饵?红队视角下蜜罐识别方式汇总
  19. 零知识证明的几个例子
  20. android 键盘收回,Activity界面销毁 软键盘未收回

热门文章

  1. java integer valueof_对 Java Integer.valueOf() 的一些了解
  2. 一个小例子体会Java反射的动态性
  3. 怎么修改服务器上的cpt文件,DELL-服务器-RAID-配置详解(28页)-原创力文档
  4. oracle查看存储过程最近编译,Oracle恢复被误编译覆盖的存储过程
  5. jmeter学习笔记(八-1)
  6. 学习activemq,在spring中activemq的配置信息
  7. Leetcode 152.乘机最大子序列
  8. 用来用去还是觉得SDCMS好用
  9. 简易分享功能(非第三方)
  10. JQuery 样式设置、追加、移除与切换