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中Color的一些特性介绍
May 27 HTML / CSS
实列教程 一款基于jquery和css3的响应式二级导航菜单
Nov 13 HTML / CSS
css sprite简单实例
May 23 HTML / CSS
CSS3打造磨砂玻璃背景效果
Sep 28 HTML / CSS
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
Feb 07 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
May 08 HTML / CSS
HTML5新增的表单元素和属性实例解析
Jul 07 HTML / CSS
canvas需要在标签里直接定义宽高
Dec 17 HTML / CSS
推荐10个HTML5响应式框架
Feb 25 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
CSS3 制作的图片滚动效果
Apr 14 HTML / CSS
CSS中float高度塌陷问题的四种解决方案
Apr 18 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
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
PHP6新特性分析
2016/03/03 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
js实现简单的秒表
2020/01/16 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
店长岗位职责
2013/11/21 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
活动策划邀请函
2014/02/06 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL