html5中audio支持音频格式的解决方法


Posted in HTML / CSS onAugust 24, 2018

HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持。不是所有的浏览器都支持MP3 OGG之类的,每个浏览器因为版权的问题支持的格式都是不一样的。

浏览器和音频兼容性

浏览器制造商并非都同意使用某种音频文件格式。对于图像,PNG、JPEG 或 GIF 格式的文件在任何浏览器上都能加载到您的网页里。遗憾的是,音频文件并非如此。表 1 展示了网页中可以使用的音频文件格式,但是并非所有格式都能用于所有浏览器。例如,Chrome、Internet Explorer 9 (IE9) 和 Safari 浏览器不支持 WAV 文件,这是一种使用非压缩格式且正在衰败的标准。

HTML5浏览器和音频格式兼容性

音频格式 Chrome Firefox IE9 Opera Safari
OGG 支持 支持 支持 不支持 不支持
MP3 支持 不支持 支持 不支持 支持
WAV 不支持 支持 不支持 支持 不支持

没有一种通用的文件格式让每个浏览器都使用单个文件格式意味着至少有 2/5 的浏览器无法播放某些声音。这不是无法在单一音频标准中达成一致的浏览器制造商不妥协的问题,而是涉及专利权和特许权使用费的法律和财务问题。不受软件专利限制的 OGG 格式旨在一劳永逸地解决这个问题。然而,在撰写本文时,Opera 和 Safari 都不支持 OGG。与 OGG 格式的文件相比,可用的 WAV 和 MP3 文件数量要更多,因此毫无疑问,浏览器制造商考虑到了这一点。MP3 作为事实的标准是个很好的解决方案。

解决方案:使用三种文件类型和<audio>标签

鉴于目前的状况,您可能认为目前还不是在 HTML5 页面上使用音频的黄金时刻。在某些方面可能的确如此,但是 HTML5 提供了一个解决方案,使您喜欢的浏览器能够找到一种兼容的格式。

与 <audio> 标签结合使用时,<source> 标签可以嵌套在 <audio> 容器内。假设您是一个瓦格纳迷,想在 HTML5 网页上听他的歌剧 Ride of the Valkyries(《女武神》)。首先,您需要获得三种文件类型的音乐,即 OGG、MP3 和 WAV。将这些音乐文件与 HTML5 文件放在同一个文件夹内。然后,将每个文件名放在单独的 <source> 标签里,并且音频容器中的所有源标签都由<audio></audio> 构成,如下所示。

<audio controls>
    <source src=”http://demo.mimvp.com/html5/take_you_fly.ogg” />
    <source src=”http://demo.mimvp.com/html5/take_you_fly.mp3″ />
    <source src=”http://demo.mimvp.com/html5/take_you_fly.wav” />
</audio>

无论访问者使用什么浏览器,它都将自动选择所读取的第一个文件类型,并为您播放声音。

总结

以上所述是小编给大家介绍的html5中audio支持音频格式的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
CSS3实现类似翻书效果的过渡动画的示例代码
Sep 06 HTML / CSS
玩转CSS3色彩
Jan 16 HTML / CSS
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
Nov 18 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 HTML / CSS
详解H5本地储存Web Storage
Jul 03 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
Nov 22 HTML / CSS
html5构建触屏网站之touch事件介绍
Jan 07 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
May 11 HTML / CSS
html5 Canvas实现图片旋转的示例
Jan 15 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
解析CSS 提取图片主题色功能(小技巧)
May 12 HTML / CSS
CSS中理解层叠性及权重如何分配
Dec 24 HTML / CSS
HTML5实现音频和视频嵌入的方法
Aug 22 #HTML / CSS
canvas学习和滤镜实现代码
Aug 22 #HTML / CSS
详解html5 postMessage解决跨域通信的问题
Aug 17 #HTML / CSS
HTML5 manifest离线缓存的示例代码
Aug 08 #HTML / CSS
移动端Html5页面生成图片解决方案
Aug 07 #HTML / CSS
详解WebSocket跨域问题解决
Aug 06 #HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 #HTML / CSS
You might like
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PDO::_construct讲解
2019/01/27 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
angular分页指令操作
2017/01/09 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
js实现日历的简单算法
2017/01/24 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
保安辞职申请书应该怎么写?
2019/07/15 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
Nginx配置https的实现
2021/11/27 Servers
一条 SQL 语句执行过程
2022/03/17 MySQL
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技