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 相关文章推荐
利用CSS的Sass预处理器(框架)来制作居中效果
Mar 10 HTML / CSS
纯CSS3代码实现文字描边
Apr 25 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
Html5无刷新修改browser Url的方法
Jan 15 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
Sep 25 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
Feb 05 HTML / CSS
HTML5中的websocket实现直播功能
May 21 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
Dec 23 HTML / CSS
html5响应式开发自动计算fontSize的方法
Jan 13 HTML / CSS
HTML中meta标签及Keywords
Apr 15 HTML / CSS
如何用H5实现好玩的2048小游戏
Jul 23 HTML / CSS
使用CSS实现按钮边缘跑马灯动画
May 07 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扩展
2013/06/13 PHP
javascript中onclick(this)用法介绍
2013/04/19 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python创建或生成列表的操作方法
2019/06/19 Python
pytorch的batch normalize使用详解
2020/01/15 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
python实现简单的五子棋游戏
2020/09/01 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
JSF的标签库有哪些
2012/04/27 面试题
大学生简单自荐信
2013/11/10 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
会计专业自荐书
2014/07/08 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
法定代表人免职证明
2015/06/24 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
Promise面试题详解之控制并发
2021/05/14 面试题
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
Nginx HTTP跳转至HTTPS
2022/05/15 Servers