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模拟IOS滑动开关效果
Sep 28 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
HTML5上传文件显示进度的实现代码
Aug 30 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
Jan 17 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
May 29 HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
Jan 30 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
HTML5 图片悬停放大的实现代码示例
Dec 04 HTML / CSS
HTML5表单验证特性(知识点小结)
Mar 10 HTML / CSS
Html5调用企业微信的实现
Apr 16 HTML / CSS
CSS 实现多彩、智能的阴影效果
May 12 HTML / CSS
HTML实现仿Windows桌面主题特效的实现
Jun 28 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 高效率写法 推荐
2010/02/21 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
jquery选择器简述
2015/08/31 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
python实用代码片段收集贴
2015/06/03 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
python+opencv实现车道线检测
2021/02/19 Python
python 将Excel转Word的示例
2021/03/02 Python
绘画设计学生的个人自我评价
2013/09/20 职场文书
高中生自我评语大全
2014/01/19 职场文书
党委领导班子整改方案
2014/09/30 职场文书
2014年优秀党员材料
2014/12/18 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
转学证明范本
2015/06/19 职场文书
Python爬虫实战之爬取携程评论
2021/06/02 Python