简单介绍HTML5中audio标签的使用


Posted in HTML / CSS onSeptember 24, 2015

在HTML5标准网页里面,我们可以运用audio标签来完成我们对声音的调用及播放。以下是最经常见到的运用HTML5三种基本格式:

1.最少的代码

复制代码
代码如下:

<audio src="song.ogg" controls="controls"></audio>

2.带有不兼容提醒的代码
复制代码
代码如下:

<audio src="song.ogg" controls="controls">
Your browser does not support the audio tag.
</audio>

3.尽量兼容浏览器的写法
复制代码
代码如下:

<audio controls="controls">
<source src="song.ogg" type="audio/ogg">
<source src="song.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>

浏览器和音频兼容性

浏览器制造商并非都同意使用某种音频文件格式。对于图像,PNG、JPEG 或 GIF 格式的文件在任何浏览器上都能加载到您的网页里。遗憾的是,音频文件并非如此。表 1 展示了网页中可以使用的音频文件格式,但是并非所有格式都能用于所有浏览器。例如,Chrome、Internet Explorer 9 (IE9) 和 Safari 浏览器不支持 WAV 文件,这是一种使用非压缩格式且正在衰败的标准。

HTML5浏览器和音频格式兼容性
简单介绍HTML5中audio标签的使用

没有一种通用的文件格式让每个浏览器都使用单个文件格式意味着至少有 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标签的使用
一旦您决定要在网站上提供音频,将面临一个有趣的设计选择。每个浏览器都有与众不同的外观,看起来像是有意识地故意使其与众不同。

除了 Chrome 浏览器外,所有浏览器都有开始/暂停控件、进度条、滑块、播放秒数、音量/静音控件,还显示声音文件的总秒数。使用HTML5 标准和浏览器支持,开发人员可以相信用户将拥有与 HTML5 音频类似的体验,因为浏览器控件是类似的。您还可以使用 Flash 和 Silverlight 等插件创建控件,但是对于不同的用户,体验可能会有所不同。

某些浏览器(如 IE9)甚至有自己的声音控制条,在浏览器本身之外运行。用户打开有声音的任何网站时,他们可以从 Windows 任务栏控制声音,并能够预览当前正在播放的声音。

html代码 (隐藏播放控件)

复制代码
代码如下:

<audio autoplay="autoplay">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>

 

代码演示 (隐藏播放控件)

复制代码
代码如下:

<audio autoplay="autoplay" controls="controls">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>
HTML / CSS 相关文章推荐
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
Mar 31 HTML / CSS
html5+css3之CSS中的布局与Header的实现
Nov 21 HTML / CSS
CSS3实现超酷的黑猫警长首页
Apr 26 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
Nov 12 HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
Mar 06 HTML / CSS
程序设计HTML5 Canvas API
Apr 08 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
Mar 13 HTML / CSS
canvas绘制视频封面的方法
Feb 05 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
Aug 01 HTML / CSS
如何利用 CSS Overview 面板重构优化你的网站
Oct 24 HTML / CSS
使用CSS实现按钮边缘跑马灯动画
May 07 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
Sep 21 #HTML / CSS
深入解析HTML5的IndexedDB索引数据库
Sep 14 #HTML / CSS
使用HTML5的表单验证的简单示例
Sep 09 #HTML / CSS
详解HTML5中的manifest缓存使用
Sep 09 #HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 #HTML / CSS
详解HTML5中ol标签的用法
Sep 08 #HTML / CSS
深入解析HTML5中的Blob对象的使用
Sep 08 #HTML / CSS
You might like
php下获取http状态的实现代码
2014/05/09 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
js获取域名的方法
2015/01/27 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
Python中的with...as用法介绍
2015/05/28 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
大学生四年生活自我鉴定
2013/11/21 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
会员卡清退活动总结
2014/08/27 职场文书
个人总结与自我评价
2014/09/18 职场文书
文明家庭事迹材料
2014/12/20 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers
利用Java连接Hadoop进行编程
2022/06/28 Java/Android