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 相关文章推荐
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
Feb 04 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
使用CSS3和Checkbox实现JQuery的一些效果
Aug 03 HTML / CSS
CSS3制作酷炫的条纹背景
Nov 09 HTML / CSS
纯CSS3实现运行时钟的示例代码
Jan 25 HTML / CSS
Html5上传图片 移动端、PC端通用代码
Jun 08 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
Mar 22 HTML / CSS
HTML5 图片悬停放大的实现代码示例
Dec 04 HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 HTML / CSS
CSS 鼠标点击拖拽效果的实现代码
Dec 24 HTML / CSS
css之clearfix的用法深入理解(必看篇)
May 21 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
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
javascript window对象属性整理
2009/10/24 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python数据类型详解(一)字符串
2016/05/08 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
协议书格式
2014/04/23 职场文书
超市开店计划书
2014/04/26 职场文书
拓展策划方案
2014/06/03 职场文书
新店开张活动方案
2014/08/24 职场文书
党代会心得体会
2014/09/04 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
语文复习计划
2015/01/19 职场文书
大连星海广场导游词
2015/02/10 职场文书
2015年团支部工作总结
2015/04/03 职场文书
校园新闻稿范文
2015/07/18 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript