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 作为事实的标准是个很好的解决方案。

解决方案:使用三种文件类型和标签

鉴于目前的状况,您可能认为目前还不是在 HTML5 页面上使用音频的黄金时刻。在某些方面可能的确如此,但是 HTML5 提供了一个解决方案,使您喜欢的浏览器能够找到一种兼容的格式。

与 标签结合使用时, 标签可以嵌套在 容器内。假设您是一个瓦格纳迷,想在 HTML5 网页上听他的歌剧 Ride of the Valkyries(《女武神》)。首先,您需要获得三种文件类型的音乐,即 OGG、MP3 和 WAV。将这些音乐文件与 HTML5 文件放在同一个文件夹内。然后,将每个文件名放在单独的 标签里,并且音频容器中的所有源标签都由 构成,如下所示。

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

更多专业前端知识,请上

【猿2048】www.mk2048.com

html5 支持音频格式,html5中audio支持音频格式相关推荐

  1. html嵌入audio格式不支持,html5中audio支持音频格式的解决方法

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  2. html 音频格式,html5中audio支持音频格式

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  3. 在html中主要支持的音频格式,html5中audio支持音频格式

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  4. android 播放3gp音频,说说 Android 中如何操作音频与视频文件

    1 音频 在 Android 中播放音频文件用的是 MediaPlayer 类,它提供了一些较为常用的控制方法. 方法 说明 setDataSource() 指定音频文件位置. prepare() 准 ...

  5. mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据

    原标题:MySQL中导入导出CSV格式数据 预备阅读:MySQL中的主键问题和赋权限问题 今天来讲一下在MySQL中导入和导出CSV格式数据的操作. CSV格式数据 逗号分隔值(Comma-Separ ...

  6. php用什么服务器系统时间格式,php中时间戳和日期格式的转换

    一,PHP时间戳函数获取指定日期的unix时间戳 strtotime("2009-1-22″) 示例如下: echo strtotime("2009-1-22″) 结果:12325 ...

  7. java中M格式_Java中Date日期字符串格式的各种转换

    编程语言 Java中Date日期字符串格式的各种转换 字号+ 作者:小虾米 2017-04-21 08:51 以下程序源码都是从网络上整理之后,才发到本网站的,新手请收藏啊! public class ...

  8. ue linux转dos格式,uestudio中如何把dos格式转为unix

    NTFS要转成FAT32,首先不说微软暂不支持,你即使用了第三方软件转回去了,数据绝对有些会有问题的.再说NTFS的安全性要比FAT32高多了,而且不易产生磁盘碎片.当然,在速度上比FAT32肯定要稍 ...

  9. python字典格式_Python中的字典的格式与方法

    1.格式 变量名 = {"key":"value1","key2":value2,"key3":value3} 2. ( ...

最新文章

  1. VSCODE常用开发环境配置----保存
  2. μ子刷屏的背后:说「新物理学即将现身」还为之过早
  3. iOS 减少编译时间
  4. ssm配置多数据库支持
  5. python socket通信 recv 丢包_关于socket网络传输数据的阿里云论坛用户知识和技术交流...
  6. Codeforces Round #193 (Div. 2)
  7. App自动化测试之Adb基础命令使用
  8. SEO关键之密:自己创造一个关键词!
  9. 模板载入与模板继承的区别
  10. 一篇文章搞懂腾讯云AI平台的人工智能IDE:TI-ONE
  11. get_children 方法里面参数 iv_as_copy 有什么用?
  12. 【数论】【杜教筛】选数(P3172)
  13. 技术人如何转型产品?
  14. cocos 时间函数需要什么引用_与时间赛跑:微盟的数据恢复为什么需要这么长时间...
  15. nginx 命令_MAC 操作nginx命令
  16. zoj 3581 A Simple Test 模拟题
  17. CNN卷积神经网络总结
  18. 【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
  19. 专利挖掘和撰写(京东技术资质申请和创造专利挖掘)
  20. java smtp.126.com_java开发_STMP邮箱客户端_发送邮件

热门文章

  1. 两个队列实现一个栈思路c语言,两个栈实现队列功能C语言实现能运行!
  2. 简单的java方法_Java简单实用方法一
  3. linux软件证券,linux
  4. java jespa_Jespa实际运用的一点心得
  5. wordpress置顶文章调用与设置
  6. 【RK3399Pro学习笔记】十七、Debian安装ORB-SLAM3和单目demo的运行
  7. 求素数: 一般线性筛法 + 快速线性筛法
  8. 显示当前行号、文件名和函数名(二)
  9. vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式
  10. [react] React中怎么检验props?