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教程(10):CSS3 HSL声明设置颜色
Apr 02 HTML / CSS
css3制作动态进度条以及附加jQuery百分比数字显示
Dec 13 HTML / CSS
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
移动端适配 使px自动转换rem
Aug 26 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
HTML5的download属性详细介绍和使用实例
Apr 23 HTML / CSS
Html5实现二维码扫描并解析
Jan 20 HTML / CSS
为什么你写的height:100%不起作用
May 10 HTML / CSS
html+css实现文字折叠特效实例
Jun 02 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 HTML / CSS
关于CSS浮动与取消浮动的问题
Jun 28 HTML / CSS
如何用H5实现好玩的2048小游戏
Jul 23 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 实例化类的一点摘记
2008/03/23 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
php计算函数执行时间的方法
2015/03/20 PHP
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python去除文件中重复的行实例
2018/06/29 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
学生档案自我鉴定
2013/10/07 职场文书
艺术系应届生的自我评价
2013/10/19 职场文书
工作自荐信
2013/12/11 职场文书
二手书店创业计划书
2014/01/16 职场文书
中国央视网签名寄语
2014/01/18 职场文书
党组织公开承诺书
2014/03/29 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
捐书活动倡议书
2015/04/27 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
小学美术教学反思
2016/02/17 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang