html5音频_动力节点Java学院整理


Posted in HTML / CSS onAugust 22, 2018

html5<audio>是 HTML 5 的新标签,定义声音,比如音乐或其他音频流。

HTML 5 <audio> 标签

HTML5 audio让音乐东山再起

HTML5 运用aduio标签打造音乐播放器

可以在开始标签和结束标签之间放置文本内容,这样老的浏览器就可以显示出不支持该标签的信息。

<audio autoplay="autoplay" controls="controls"loop="loop" preload="auto"
            src="http://demo.mimvp.com/html5/take_you_fly.mp3">
      你的浏览器不支持audio标签
</audio>

属性 描述
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放。
controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
loop loop 如果出现该属性,则每当音频结束时重新循环开始播放。
preload preload 如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用 “autoplay”,则忽略该属性。
src url 要播放的音频的 URL。也可以使用标签来设置音频。

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

浏览器和音频兼容性

浏览器制造商并非都同意使用某种音频文件格式。对于图像,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音频_动力节点Java学院整理

一旦您决定要在网站上提供音频,将面临一个有趣的设计选择。每个浏览器都有与众不同的外观,看起来像是有意识地故意使其与众不同。下面的图 1 展示了这些浏览器控件的外观。

图1:不同浏览器上的音频控件

除了 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实现input输入框颜色渐变发光效果代码
Apr 02 HTML / CSS
CSS3动画animation实现云彩向左滚动
May 09 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
Sep 02 HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 HTML / CSS
CSS3条纹背景制作的实战攻略
May 31 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
Sep 10 HTML / CSS
CSS3之2D与3D变换的实现方法
Jan 28 HTML / CSS
CSS3 按钮边框动画的实现
Nov 12 HTML / CSS
CSS3 文字动画效果
Nov 12 HTML / CSS
html5 touch事件实现触屏页面上下滑动(一)
Mar 10 HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
Apr 04 HTML / CSS
html中相对位置与绝对位置的具体使用
May 15 HTML / CSS
Html5画布_动力节点Java学院整理
Jul 13 #HTML / CSS
html5应用缓存_动力节点Java学院整理
Jul 13 #HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 #HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 #HTML / CSS
html5视频播放_动力节点Java学院整理
Jul 13 #HTML / CSS
HTML5之web workers_动力节点Java学院整理
Jul 17 #HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 #HTML / CSS
You might like
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP调用Webservice实例代码
2011/07/29 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
nodejs读取并去重excel文件
2018/04/22 NodeJs
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
Python使用pymysql小技巧
2017/06/04 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
毕业研究生的自我鉴定
2013/11/30 职场文书
函授自我鉴定范文
2014/02/06 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
员工安全生产责任书
2014/07/22 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
功夫熊猫观后感
2015/06/10 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
Django程序的优化技巧
2021/04/29 Python
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers