HTML5 audio 如何实现播放多个MP3音频
<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
HTML5 audio 如何实现播放多个MP3音频的更多相关文章
- html5 audio标签切换播放音乐的方法
html5 audio标签切换播放音乐的方法<pre><audio id="music1" preload loop="loop">&l ...
- HTML5 audio与video标签实现视频播放,音频播放
随着互联网的飞速发展以及HTML5的应用,越来越多的项目中用到video,audio当常用标签. <audio> 标签属性 <audio src="song.mp3&quo ...
- html - html5 audio 音乐自动播放,循环播放等
转自:http://blog.csdn.net/u012246458/article/details/50618759 audio播放音乐 <audio id="audio" ...
- ios html5 audio 不能自动播放
//修复ios 浏览器不能自动播放音频的问题 在加载时创建新的audio 用的时候更换src即可 Xut.fix = Xut.fix||{}; if (Xut.plat.isBrowser & ...
- HTML5 Audio时代的MIDI音乐文件播放
大家都知道,HTML5 Audio标签能够支持wav, webm, mp3, ogg, acc等格式,但是有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持,因为mid文 ...
- MUI音乐播放html5+audio模块
html5+ audio 模块MUI播放音频 Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件.通过plus.audio获取音频管理 ...
- CEF3 HTML5 audio标签为什么不能播放mp3格式的音频文件
CEF3 HTML5 audio标签 为什么不能播放mp3格式的音频文件 原因略. 解决方法: 找一个最新版的chrome ,我用的是24版本.路径 C:\Documents and Sett ...
- html5 audio音频播放全解析
序 html5开启了一个新时代,因为它让浏览器本身变得不那么被动,audio api就是一个典型的列子,在html5还没确定之前,如果想要在网页上听音乐看视频唯一的办法就是用flash意思是当你没有给 ...
- 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- SQL 分组
- JS的Key-Val(键值对)设置Key为动态的方法
问题描述: 需要生成一个对象, 这个对象为 {key: value}, 现在要让key是动态的 解决方案: function(key, value){ let keyValue = {}; keyVa ...
- 插入DOM元素
插入Dom元素两种情况: 1.要插入的元素是从页面中获取的dom结构 ,例如:$(".item") 2.要插入的元素是通过变量存储的dom结构,例如:var html = &quo ...
- Linux文件压缩命令笔记
1.gzip/gunzip gzip/gunzip:主要是进行单个文件的压缩和解压缩的命令. 示例:gzip hello.txt #执行压缩hello.txt ls hello.txt.gz #查看文 ...
- Emoji表情处理工具类
import java.util.regex.Matcher; import java.util.regex.Pattern; public class EmojiToString { /** * 将 ...
- JavaScript for循环元素取下标问题
<ul> <li>fg</li> <li>gd</li> <li>gds</li> <li>ghe< ...
- Linux的环境配置文件----.bashrc文件
.bashrc文件主要保存个人的一些个性化设置,如命令别名.路径等.也即在同一个服务器上,只对某个用户的个性化设置相关.它是一个隐藏文件,需要使用ls -a来查看. .bash_history 记 ...
- 使用tomcat搭建Jenkins环境(centos7.3)
1.从官网下载最新版本的tomcat下载地址:https://tomcat.apache.org/2.Jenkins 官方网站下载最新版本war包Jenkins官网地址:http://jenkins- ...
- Oracle数据库的性能调整
oracle是一个高性能数据库软件.用户可以通过参数的调整,达到性能的优化.性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的. ...
- vue 封装axios以及使用中间代理 proxy
为什么需要封装呢?主要是为了更好管理项目以及增加复用性 1.首先在src文件夹下创建api文件夹 . utils文件夹 . server文件夹 api:创建一个index.js文件 用来存放接口地 ...