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中transition属性详解
Sep 02 HTML / CSS
用CSS3来实现社交分享按钮
Nov 11 HTML / CSS
CSS3 linear-gradient线性渐变生成加号和减号的方法
Nov 21 HTML / CSS
HTML5实现Notification API桌面通知功能
Mar 02 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
html5 拖拽上传图片实例演示
Apr 01 HTML / CSS
基于html5绘制圆形多角图案
Apr 21 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
Jun 20 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
Apr 25 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
Aug 20 HTML / CSS
Html分层的box-shadow效果的示例代码
Mar 30 HTML / CSS
html+css实现滚动到元素位置显示加载动画效果
Aug 02 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
linux命令之调试工具strace的深入分析
2013/06/03 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
React快速入门教程
2017/01/17 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
python 正则式使用心得
2009/05/07 Python
python通过索引遍历列表的方法
2015/05/04 Python
利用Python如何生成随机密码
2016/04/20 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
python 实现多维数组(array)排序
2020/02/28 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
大课间活动制度
2014/01/18 职场文书
2014年关于两会精神的心得体会
2014/03/17 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
低碳环保口号
2014/06/12 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android