前言

在利用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属性(静音状态)发生改变

demo

参考链接
http://www.runoob.com/jsref/d...

本文转载于:猿2048video元素和audio元素相关事件

video元素和audio元素相关事件的更多相关文章

  1. video元素和audio元素

    内容: 1.video元素 2.audio元素 注:这两个元素均是HTML5新增的元素 1.video元素 (1)用途 <video> 标签定义视频,比如电影片段或其他视频流 (2)标签属 ...

  2. audio元素和video元素在ios和andriod中无法自动播放

    原因: 因为各大浏览器都为了节省流量,做出了优化,在用户没有行为动作时(交互)不予许自动播放: /音频,写法一 <audio src="music/bg.mp3" autop ...

  3. 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. 基于HTML5 audio元素播放声音jQuery小插件

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1609 一.前面的些唠 ...

  5. Cannot read property 'nodeType' of null; audio元素默认样式下载按钮

    1.chrome-->console抛出如下错误: Uncaught TypeError: Cannot read property 'nodeType' of null 错误原因:从stack ...

  6. 【原创】解决鼠标经过子元素触发mouseout,mouseover事件的问题

    关键词:父子元素关系  mouseout  mouseover  事件  事件冒泡 初期代码: <!DOCTYPE html> <html> <head> < ...

  7. Javascript事件模型(二):Javascript事件的父元素和子元素

    DOM事件标准定义了两种事件流,分别是捕获和冒泡.默认情况下,事件使用冒泡事件流,不使用捕获事件流.你可以指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这个参数设为true. ...

  8. 事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流

    一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那 ...

  9. jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递

    前述:jquery中: 当一个元素的点击事件被触发时,会自动将该事件向父级元素逐级专递. 但是实际场景当中,我们可能会遇到需要在父级元素中定义点击事件,来触发特定子元素的点击事件,我就遇到了这么一个问 ...

随机推荐

  1. pyinstaller打包exe文件,运行时一闪而过

    pyinstaller打包exe文件出现命令窗口一闪而过 原因:exe运行过程中出错了,解决这些错误就可以了 解决方法: 通过 cd path >> xxx.exe 在命令行中运行exe文 ...

  2. selenium+python安装

    整理了下selenium+python环境搭建,搭建了很多次但每次都还是手忙脚乱,今天用心整理下 selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架,并且 Selenium ...

  3. laravel 解决跨域问题并封装到中间件

    larav 官方手册有详细的步骤 https://learnku.com/articles/6504/laravel-cross-domain-solution 我们在用 laravel 进行开发的时 ...

  4. tensorflow源码解析之common_runtime-direct_session

    目录 核心概念 direct_session direct_session.h direct_session.cc 1. 核心概念 读过之前文章的读者应该还记得,session是一个执行代理.我们把计 ...

  5. 手绘流程图,教你WSL2与Docker容器无缝互相迁移

    摘要:本文主要介绍WSL2与Docker容器无缝迁移镜像. 本文分享自华为云社区<WSL2与Docker容器,无缝互相迁移>,作者: tsjsdbd . 注:本文提到的WSL都是指WSL2 ...

  6. pd.merge操作的on参数解释

    # 同时传入两个Key,此时会进行以['key1','key2']列表的形式进行对应,left的keys列表是:[['K0', 'K0'],['K0', 'K1'],['K1', 'K0'],['K2 ...

  7. 2.2 C++STL string容器详解

    文章目录 引言 2.2.1 string的特性 2.2.2 string用法理论 2.2.2.1 string构造函数 2.2.2.2 string赋值操作 2.2.2.3 string取值操作 2. ...

  8. 2022年官网下安装NodeJS最全版与官网查阅方法

    目录 安装部署NodeJS 1.百度搜索NodeJS. 2.选择下载,windows版,选择64位下载 3.找到本地安装包位置,双击打开 4.选择同意,点击下一步 5.选择安装目录,点击下一步 6.选 ...

  9. WPF中Enter 焦点转移方法

    1.Set the TabIndex="16"2. private void detailGrid_Keydown(object sender, KeyEventArgs e) { ...

  10. eclipse中的项目如何打成war包

    war包即Web归档文件,将Web项目打成war包可以直接拷贝到Web服务器发布目录(例如Tomcat服务器webapps目录 ),当Tomcat启动后该压缩文件自动解压,war包方便了web工程的发 ...