h5中的audio音频标签与对应的dom对象
HTML5中提供了一个<audio>标签,同时也提供了一个Audio对象给JavaScript去操作,这个对象属于HTML的DOM对象。
H5中的<audio>标签
此标签是HTML5的新标签(双标签),用于定义声音,比如音乐或其他音频流。
实例
<audio src="someaudio.wav">
<span>你的浏览器不支持audio标签,傻瓜。</span>
</audio>
同时此标签提供<source>子标签(单标签)来链接不同的音频文件。
<audio controls="controls">
<source src="song.ogg" type="audio/ogg">
<source src="song.mp3" type="audio/mpeg">
<span>你的浏览器不支持audio标签,呆子。</span>
</audio>
属性
| 属性 | 值 | 描述 |
|---|---|---|
| autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
| loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。 |
| muted | muted | 规定视频输出应该被静音。 |
| preload | preload |
如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用属性autoplay属性,则忽略该属性。 |
| src | url | 要播放的音频的URL。 |
此标签支持HTML中的全局属性与事件属性。
浏览器支持与兼容性提示
Internet Explorer 9+、Firefox、Opera、Chrome以及Safari浏览器支持此标签。
Internet Explorer 8以及更早的版本不支持此标签。
目前,<audio> 元素支持的3种文件格式:MP3、Wav、Ogg。
| 浏览器 | MP3 | Wav | Ogg |
|---|---|---|---|
| Internet Explorer | YES | NO | NO |
| Chrome | YES | YES | YES |
| Firefox | YES | YES | YES |
| Safari | YES | YES | NO |
| Opera | YES | YES | YES |
另外,可以在开始标签和结束标签之间放置文本内容,这样老的浏览器就可以显示出不支持该标签的信息。比如在上面的实例中,不支持这个标签的浏览器就会显示<span>标签中的文本内容。
H5中的HTML DOM Audio对象
Audio对象是HTML5中的新对象,表示HTML中的<audio>标签元素。
访问Audio对象
可以用getElementsByTag()方法。
var audio = document.getElementsByTag(audio")[0];
也可以用getElementById()方法。
var audio = document.getElementById("myAudio");
创建Audio对象
可以用createElement方法。
var audio = document.createElement("audio");
也可以用new Audio()方法。
var audio = new Audio();
Audio对象的属性
| 属性 | 描述 |
|---|---|
| audioTracks | 返回表示可用音频轨道的AudioTrackList对象。 |
| autoplay | 设置或返回是否在就绪(加载完成)后随即播放音频。 |
| buffered | 返回表示音频已缓冲部分的TimeRanges对象。 |
| controller | 返回表示音频当前媒体控制器的MediaController对象。 |
| controls | 设置或返回音频是否应该显示控件(比如播放/暂停等)。 |
| crossOrigin | 设置或返回音频的CORS设置。 |
| currentSrc | 返回当前音频的 URL。 |
| currentTime | 设置或返回音频中的当前播放位置(以秒计)。 |
| defaultMuted | 设置或返回音频默认是否静音。 |
| defaultPlaybackRate | 设置或返回音频的默认播放速度。 |
| duration | 返回音频的长度(以秒计)。 |
| ended | 返回音频的播放是否已结束。 |
| error | 返回表示音频错误状态的MediaError对象。 |
| loop | 设置或返回音频是否应在结束时再次播放。 |
| mediaGroup | 设置或返回音频所属媒介组合的名称。 |
| muted | 设置或返回是否关闭声音。 |
| networkState | 返回音频的当前网络状态。 |
| paused | 设置或返回音频是否暂停。 |
| playbackRate | 设置或返回音频播放的速度。 |
| played | 返回表示音频已播放部分的TimeRanges对象。 |
| preload | 设置或返回音频的preload属性的值。 |
| readyState | 返回音频当前的就绪状态。 |
| seekable | 返回表示音频可寻址部分的TimeRanges对象。 |
| seeking | 返回用户当前是否正在音频中进行查找。 |
| src | 设置或返回音频的src属性的值。 |
| textTracks | 返回表示可用文本轨道的TextTrackList对象。 |
| volume | 设置或返回音频的音量,默认为1,即最大音量。 |
Audio对象的方法
| 方法 | 描述 |
|---|---|
| addTextTrack() | 向音频添加新的文本轨道。 |
| canPlayType() | 检查浏览器是否能够播放指定的音频类型。 |
| fastSeek() | 在音频播放器中指定播放时间。 |
| getStartDate() | 返回新的Date对象,表示当前时间线偏移量。 |
| load() | 重新加载音频元素。 |
| play() | 开始播放音频。 |
| pause() | 暂停当前播放的音频。 |
Audio对象支持标准的属性和事件。
Audo对象的事件监听
还可以给Audio对象添加一些状态改变的监听事件。
audio.addEventListener('timeupdate', function() { // 播放时间变化就会触发
// 做点坏事
});
audio.addEventListener('ended', function() { // 播放结束就会触发
// 做点好事
});
"生活很难,你一定要哄着自己过完。"
h5中的audio音频标签与对应的dom对象的更多相关文章
- H5 <audio> 音频标签自定义样式修改以及添加播放控制事件
H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: ...
- H5中的语义化标签
H5中的语义化标签也就是之前的id = “header”演变而来的 只不过之前是id 现在变成了标签而已 什么是语义化: 根据内容结构化(内容语义化) 选择合适的标签(代码语义化) 便于开发者阅读和写 ...
- HTML5之Audio音频标签学习
HTML5中的新元素标签 src:音频文件路径. autobuffer:设置是否在页面加载时自动缓冲音频. autoplay:设置音频是否自动播放. loop:设置音频是否要循环播放. control ...
- react中如何获取onclick事件调用元素的dom对象
今天终于有时间写博客了, 前几天项目有个需求,我感觉用dom操作兄弟元素实现比较方便,但是前端用的react框架不能用jquery的$(this)获取当前元素,查了好多资料和尝试后写下总结: 在HTM ...
- H5中被废弃的标签
<br>换行,已经被<p>标签进行替换 <hr>画线 <font> <b>,<u>,<i>,<s>:加粗 ...
- <audio>音频标签
<audio ref="audio" @canplay="ready" @error="error" @timeupdate=&qu ...
- HTML5视音频标签参考
本文将介绍HTML5中的视音频标签和对应的DOM对象.是相关资料的中文化版本,可以作为编写相关应用的简易中文参考手册. 一些约定 所有浏览器:指支持HTML5的常见桌面浏览器,包括IE9+.Firef ...
- 使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性
查看本章节 查看作业目录 需求说明: 使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距.使用jQuery ...
- H5 音频标签自定义样式修改以及添加播放控制事件
说明: 需求要求这个音频标签首先要是可适配移动端浏览器的,音频样式就是参考微信做的. 最终效果如下: 具体实现 思路: H5 的 <audio> 标签是由浏览器负责实现默认样式的.所以不同 ...
随机推荐
- rxjava介绍
Observable 在RxJava1.x中,最熟悉的莫过于Observable这个类了,笔者刚使用RxJava2.x时,创建一个Observable后,顿时是懵逼的.因为我们熟悉的Subscribe ...
- 【LOJ#575】【LNR#2】不等关系(容斥,动态规划,分治FFT)
[LOJ#575][LNR#2]不等关系(容斥,动态规划,分治FFT) 题面 LOJ 题解 一个暴力\(dp\),设\(f[i][j]\)表示考虑完了前\(i\)个位置,其中最后一个数在前面所有数中排 ...
- C#数组1
using System; namespace ConsoleApp3 { class Program { static void Main(string[] args) { , , , , , }; ...
- Python 使用 PyMysql、DBUtils 创建连接池,提升性能
转自:https://blog.csdn.net/weixin_41287692/article/details/83413775 Python 编程中可以使用 PyMysql 进行数据库的连接及诸如 ...
- 怎么将PDF转换成DWG?试试这两种方法
在CAD中,PDF文件也是比较常见的.PDF文件可以更好的预览图纸.但是需要对图纸的内容进行编辑的时候,PDF文件就要进行格式的转换才能够编辑.那怎么将PDF文件转换为DWG格式呢?具体要怎么来进行转 ...
- AppBoxFuture(九): 组织结构与权限体系
权限体系是用于约束用户访问或操作资源的权利,这里的"资源"可以指数据,也可以指特定的功能(如审核订单).通常的权限体系设计是基于角色的访问控制方式,用户通过角色与权限进行关联. ...
- JS实现深浅拷贝
1.实现浅拷贝 // 1. ...实现 let copy1 = {...{x:1}} // 2. Object.assign实现 let copy2 = Object.assign({}, {x:1} ...
- chrome调试安卓机出现“HTTP/1.1 404 Not Found ”错误
chrome调试安卓机的时候打开的调试页面会显示 “HTTP/1.1 404 Not Found ”错误 解决办法: 开启电脑vpn,全局模式即可解决.
- 重新安装和更新所有的 nuget包
重新安装指定项目中所有的 nuget 包 Update-Package -ProjectName MyProject –reinstall 更新指定项目中所有的 nuget 包 Update-Pack ...
- iOS10跳转至设置页面
在iOS10之前,跳转到系统设置界面的某个指定界面的方式如下: //打开定位服务界面 NSURL*url=[NSURL URLWithString:@"prefs:root=Privacy& ...