video元素和audio元素相关事件
前言
在利用video元素或audio元素读取或播放媒体数据时,会触发一系列事件,如果用js脚本来捕抓这些事件,就可以对着这些事件进行处理了。
捕抓的方式有两种:
第一种是监听的方式。使用vedio或audio元素的addEventListener方法来对事件进行监听,该方法可以定义如下:
vedioElement.addEventListener("error",function(){},false);
第二种是 采用获取事件句柄方式,如下:
<vedio id="vedio1" src="sample.mov" onplay="toPlay()"></vedio>
function toPlay(){
...
};
事件介绍
| 事件类型 | 描述 |
|---|---|
| loadstart | 浏览器开始在网上寻找媒体数据 |
| progress | 浏览器正在获取媒体数据 |
| suspend | 浏览器暂停获取媒体数据,但是下载过程并没有正常结束 |
| abort | 浏览器下载完全部媒体数据之前中止获取媒体数据,但并不是下载错误引起的 |
| error | 获取媒体数据的过程中出错 |
| stalled | 浏览器尝试获取数据失败 |
| play | 即将开始播放,当执行了play方法时触发,或数据下载后元素被设置为autoplay属性 |
| pause | 播放暂停,当执行了pause方法时触发 |
| loadedmetadata | 浏览器获取完媒体的时长和字节数 |
| loadeddata | 浏览器已加载完当前播放位置的媒体数据,准备播放 |
| waiting | 播放过程由于得不到下一帧而暂停播放(如下一帧尚未加载完),但很快就能够得到下一帧 |
| playing | 正在播放 |
| canplay | 浏览器能够播放媒体,但估计以当前播放速率不能直接将媒体播放完,播放期间需要缓冲 |
| canplaythrough | 浏览器可以播放媒体,而且以当前播放速率能够将媒体播放完,不再需要进行缓冲 |
| seeking | seeking属性变为true,表明浏览器正在请求数据 |
| seeked | seeking属性变为false,表示浏览器停止请求数据 |
| timeupdate | 当前播放位置发生改变,可能是播放过程中的自然改变,也可能是人为的改变,或由于播放不能连续而发生的跳变 |
| ended | 播放结束后停止播放 |
| ratechange | defaulplaybackRate属性(默认播放速率)或playbackRate属性(当前播放速率)发生改变 |
| durationchange | 播放时长发生改变 |
| volumechange | volume属性(音量)发生改变或muted属性(静音状态)发生改变 |
本文转载于:猿2048video元素和audio元素相关事件
video元素和audio元素相关事件的更多相关文章
- video元素和audio元素
内容: 1.video元素 2.audio元素 注:这两个元素均是HTML5新增的元素 1.video元素 (1)用途 <video> 标签定义视频,比如电影片段或其他视频流 (2)标签属 ...
- audio元素和video元素在ios和andriod中无法自动播放
原因: 因为各大浏览器都为了节省流量,做出了优化,在用户没有行为动作时(交互)不予许自动播放: /音频,写法一 <audio src="music/bg.mp3" autop ...
- 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 基于HTML5 audio元素播放声音jQuery小插件
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1609 一.前面的些唠 ...
- Cannot read property 'nodeType' of null; audio元素默认样式下载按钮
1.chrome-->console抛出如下错误: Uncaught TypeError: Cannot read property 'nodeType' of null 错误原因:从stack ...
- 【原创】解决鼠标经过子元素触发mouseout,mouseover事件的问题
关键词:父子元素关系 mouseout mouseover 事件 事件冒泡 初期代码: <!DOCTYPE html> <html> <head> < ...
- Javascript事件模型(二):Javascript事件的父元素和子元素
DOM事件标准定义了两种事件流,分别是捕获和冒泡.默认情况下,事件使用冒泡事件流,不使用捕获事件流.你可以指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这个参数设为true. ...
- 事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那 ...
- jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递
前述:jquery中: 当一个元素的点击事件被触发时,会自动将该事件向父级元素逐级专递. 但是实际场景当中,我们可能会遇到需要在父级元素中定义点击事件,来触发特定子元素的点击事件,我就遇到了这么一个问 ...
随机推荐
- java-排查
https://www.chinacion.cn/article/4271.html https://blog.csdn.net/zhengwei223/article/details/7715122 ...
- c/c++(c++和网络编程)日常积累(三)
asio::transfer_all() 有空研究一下这个字段 malloc和new的区别 https://blog.csdn.net/weixin_39411321/article/details/ ...
- 华山论剑之 PostgreSQL sequence (二)
rename 对 sequence 的影响 关联列与 sequence 后,即 sequence 属于该列后,drop 表或列时会自动 drop 相关 sequence. 但如果对表或列 rename ...
- SoapUI软件-测试Web Service接口
一.新建项目 New SOAP Project Project Name填入项目名称:Initial WSDL中填入接口地址,或后缀为.wsdl的文件:OK: 添加后可在左侧看到接口详情: 二.测试接 ...
- 『现学现忘』Docker基础 — 9、Docker简介
目录 1.什么是Docker? 2.Docker的出现解决了什么问题? 3.Docker的特别之处 4.Docker相关网站 1.什么是Docker? 2010年dotCloud公司在旧金山成立,PA ...
- egg-jwt的使用
安装 npm install egg-jwt --save 配置 // config/config.default.js config.jwt = { secret: 'zidingyi', // 自 ...
- Java编程学习笔记(基础篇)
一.Java中的数据类型 1.基本数据类型:四类 八种 byte(1) boolean(1) short(2) char(2) int(4) float(4) long(8) double(8) 2. ...
- TypeScript-axios模块进行封装的操作与一些想法
所谓封装与模块化,对我这种初学者来说,个人理解就是解耦,比如说,当我们前端一个项目使用了现在流行的模块,但是没有对其进行封装处理,包括一些相同的代码逻辑,把他们分散在各个组件当中,这样一来整个项目对于 ...
- SQL基础语法_周志城
一:建库建表语法,字段数据类型 1:建库建表语法 create (创建,关键字) database (数据库,关键字) IF NOT EXISTS 作用:如果需要创建的库已存在,将不会创建 DEF ...
- Java 程序性能问题
● 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步 ...