音频文件在各浏览器上的兼容性

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>

无论访问者使用什么浏览器,它都将自动选择所读取的第一个文件类型,并为您播放声音。

原文地址:https://www.cnblogs.com/-rainbow-/p/8178385.html

时间: 2024-12-09 03:06:56

音频文件在各浏览器上的兼容性的相关文章

[转载]为什么有些MP4文件在Chrome浏览器上播放不了?

http://blog.sina.com.cn/s/blog_6bb7ebcc0101c2ja.html Chrome浏览器支持HTML5,它支持原生播放部分的MP4格式(不用通过Flash等插件). 为什么是部分MP4呢?MP4有非常复杂的含义(见http://en.wikipedia.org/wiki/Mp4),普通人对MP4的理解是后缀为.mp4的文件.但MP4本身不是一种简单的视频格式,它是一个包装了视频和音频格式的壳.至于里面的视频和音频使用什么编码格式是可变的.MP4的视频格式可以使

移动端在ios上以及微信浏览器上的兼容性

1.document.以及window.body在移动h5不能触发点击事件 解决方法:给body加上cursor: pointer;就可以有点击事件了. ios上默认的body是没有点击事件的: 接着在微信端又不能打开了.那么需要在js里面加上以下代码 $('body>*').bind('click',function){ aler(); } 原文地址:https://www.cnblogs.com/MrQinjj/p/12102510.html

在iis中设置文件下载而不是在浏览器上打开

点击网页链接的*.txt,*.jpg,*.xml等文件时会在浏览器上直接显示,并没有像*.doc那样弹出下载提示框. 解决方法: 在部署的网站上,选择存放文件的目录,选择 HTTP响应标头 ,添加一个HTTP响应头,名称为:Content-Disposition,值为:attachment 即可.

在浏览器中播放音频文件的兼容性问题

来源:http://blog.sina.com.cn/s/blog_96ae64bd0100zk9r.html 下面谈谈本人在html中插入音频文件,经过我的本地测试总结的一些问题(播放mp3文件): 1.<embed type="audio/mp3" src="" autostart=true  loop=false></embed>    问题:IE8上正常(通过media player插件来播放)但在IE6和IE7上不会播放      

浏览器上传文件到PHP的几种方法

使用H5的方法来上传文件 优点是:上传过程很方便,简单 缺点:并不是所有的浏览器都支持,兼容性比较差,现阶段不推荐使用 <div class="fr"> <!--上传文件方法一:--> <form name="form1"> <div class="progress"> <div class="progress-bars" style="width:1%"

关于Window Server2008 服务器上无法播放音频文件的解决方案

在偌大的百度当中查找我所需要的资源信息,但网络上所描述的都不能解决,发生此类问题的人很多,但是都没有得到准确的解决方法!经个人各方面的尝试,其实非常简单的解决了无法播放音频文件的问题,如果各位今后也遇到此类问题,可按照我的方式处理: 若是3gp文件,在服务器IIS的MIME类型中直接添加扩展名为“.3gp” MIME类型为“video/3gpp” 若是mp4文件,在服务器IIS的MIME类型中直接添加扩展名为“.mp4” MIME类型为“video/mp4” 以此类推 此方法能彻底解决视频播放问

怎么在手机浏览器上访问电脑本地的文件,局域网内,自建WiFi也可以

首先,电脑要有Mysql+Apache+PHP环境,我直接用Wampsever,开启环境后手机和电脑要再同一个局域网内,然后电脑上打开win+R,输入cmd,再输入ipconfig,就可以看着这台的电脑的ip了一般是IPv4 地址 . . . . . . . . . . . . : 192.168.X.X”的一般就是你的内网IP了,然后在手机浏览器上直接输入这个内网IP,就可以访问到环境根目录中的文件了.

2.火狐浏览器上,uploadify文件上传不兼容,和session重新发起的问题

前段时间做表单中有文件上传的功能,主要是因为用uploadify上传,发生了问题: 问题描述1:用uploadify实现文件上传时,遇到在火狐上不兼容问题,uploadify样式无法加载的问题,这个简单,直接在火狐浏览器上安装flash插件就可以了解决, 问题描述2:使用uploadify上传文件时,发现上传文件的session(以下就叫file_session)和提交表单的session(sub_session)不一样.在提交表单的Action中我们想要获取之前的请求在session设置的值时

Flash文件在asp页面无法播放,网页上面的Flash文件在火狐浏览器不播放

第一个问题:Flash文件放到asp页面以后无法播放. 解决方法:用浏览器打开页面->F12,选择Network,如下图: 然后刷新页面,如下图: 点击左侧状态是404的文件,如图: 可以发现Flash文件调用的外部资源xml文件路径不对. 然后把xml文件放到相应目录下就可以了.我的是放到根目录下问题解决了. 第二个问题:在地址栏里面输入域名(没有前缀如abc.com),网站页面flash 文件不播放,地址栏里面输入www.abc.com.网站页面的Flash文件正常播放. 跟上面同样的方法,