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

Stella981
• 阅读 1250

属性

描述

autoplay

autoplay

添加该属性后,音频会自动播放

controls

controls

设置后,显示控件,如播放按钮、音量

loop

loop

添加该属性后,当音频播放结束后会重新开始播放

preload

preload

音频显示页面加载,准备播放,如已添加autoplay,则忽略该属性

src

url

播放音频的URL(地址)。

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

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

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

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

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

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

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

目前,html5

通过js来实现

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

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

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

文章来源于http://www.lmlblog.com/405.html[
](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww.lmlblog.com%2F2492.html)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
子桓 子桓
1年前
Mp3tag免激活中文:Mac电脑好用的音频标签编辑器
Mp3tag是一款功能强大的音乐文件标签编辑器,它能够快速地为音乐文件添加、编辑标签信息。这款软件不仅可以处理MP3文件,还支持许多其他音频格式,如AAC、FLAC、M4A、OGG、WAV和WMA等。具体来说,Mp3tag的基本功能包括添加、编辑和删除音频
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这