html5视频事件参数详细

HTML5 视频对象提供了很多事件,这些事件可以帮助简化和增强网页的内容。
在此处将看到使用事件检查内容是否可用、视频播放状态以及如何在视频中监视当前播放位置的示例。

HTML代码如下:

<!DOCTYPE html >
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="author" content="boloog" />
<meta name="format-detection" content="telephone=no" />
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0" name="viewport" />
<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">
<title>视频事件的例子</title>
</head>
<body>
<p>粘贴视频URL地址:</p>
<input type="text" id="videoFile" style="width: 300px;" value="http://gdzhcdn.vxinyou.com/down/video/vxinyou/ios_640x480.MP4" />
<button id="loadVideo">加载</button><br/>
<video id="Video1" controls style="border: 1px solid blue;" height="240" width="320" title="video element">
    HTML5 Video is required for this example
</video>
<div id="buttonbar" style="display: none; font-size:larger;")>
    <button id="restart">重新开始</button>
    <button id="slower">播放减慢</button>
    <button id="rew">倒回</button>
    <button id="play" title="Play button">播放</button>
    <button id="fwd">快进</button>
    <button id="faster">播放加快</button>
    <button id="mute">禁音</button>
    <br />
    <label>复位回放速度: </label><button id="normal" title="Reset playback rate button">=</button>
    <br />
    <label>  音量: </label>
    <button id="volDn"  title="Volume down button">-</button>
    <button id="volUp"  title="Volume up button">+</button>
    <div id="status">总时长(秒): <span id="vLen"></span> <br />
    当前时间:  <span id="curTime" title="Current time"></span><br />
    剩余的时间: <span id="vRemaining" title="Remaining time"></span></div>
</div>
<div id="errorMsg" style="color:Red;"></div>
<div title="事件状态区域" >
    <label>oncanplaythrough: </label><span class="stats" id="cpt"></span><br />
    <label>onloadstart: </label><span class="stats"  id="ls"></span><br />
    <label>onprogress: </label><span class="stats"  id="pg"></span><br />
    <label>onloadeddata: </label><span class="stats" id="ld"></span><br />
    <label>onended: </label><span class="stats" id="ndd"></span><br />
    <label>onemptied: </label><span class="stats" id="mt"></span><br />
    <label>onstalled: </label><span class="stats" id="stall"></span><br />
    <label>onwaiting: </label><span class="stats" id="waiting"></span><br />
    <label>ondurationchange: </label><span class="stats" id="dc"></span><br />
</div>
</body>
</html>

JS事件代码:

var video = document.getElementById("Video1");
var vLength;
var pgFlag = ""; // 用于进度跟踪
if (video.canPlayType) { // 支持HTML5视频测试
    // 视频的按钮的辅助函数    播放视频
    function vidplay(evt) {
        if (video.src == "") { // 初始源负载
            getVideo();
        }
        if (video.paused) { // 播放文件,并显示暂停符号
            video.play();
        } else { // 暂停其他文件,显示播放符号
            video.pause();
        }
    }

    // 从输入的表单地址获取视频文件
    function getVideo() {
        var fileURL = document.getElementById("videoFile").value; // 得到输入字段
        if (fileURL != "") {
            video.src = fileURL;
            video.load(); // 如果HTML源元素的应用
            document.getElementById("play").click(); // 开始使用
        } else {
            errMessage("请输入有效的视频网址"); // 网址失败
        }
    }

    // 按钮帮助函数  跳过向前,向后,或重新启动
    function setTime(tValue) {
        // 如果没有视频加载,这将抛出一个异常
        try {
            if (tValue == 0) {
                video.currentTime = tValue;
            } else {
                video.currentTime += tValue;
            }
        } catch (err) {
            // 错误消息(ERR) 显示异常
            errMessage("视频内容可能无法加载");
        }
    }

    // 体积变化根据传入的值
    function setVol(value) {
        var vol = video.volume;
        vol += value;
        // 测试范围0 - 1避免异常
        if (vol >= 0 && vol <= 1) {
            // 如果有效的值,使用它
            video.volume = vol;
        } else {
            // 在其他替代的0或1
            video.volume = (vol < 0) ? 0 : 1;
        }
    }
    // 按钮事件  播放
    document.getElementById("play").addEventListener("click", vidplay, false);
    // 重新启动
    document.getElementById("restart").addEventListener("click", function() {
        setTime(0);
    }, false);
    // 向后跳过10秒钟
    document.getElementById("rew").addEventListener("click", function() {
        setTime(-10);
    }, false);
    // 向前跳过了10秒钟
    document.getElementById("fwd").addEventListener("click", function() {
        setTime(10);
    }, false);
    // 设置 src == 最新视频文件的URL
    document.getElementById("loadVideo").addEventListener("click", getVideo, false);

    // 音量按钮
    document.getElementById("volDn").addEventListener("click", function() {
        setVol(-.1); // 下降10%
    }, false);
    document.getElementById("volUp").addEventListener("click", function() {
        setVol(.1); // 上升10%
    }, false);

    // 播放速度按钮
    document.getElementById("slower").addEventListener("click", function() {
        video.playbackRate -= .25;
    }, false);
    document.getElementById("faster").addEventListener("click", function() {
        video.playbackRate += .25;
    }, false);
    document.getElementById("normal").addEventListener("click", function() {
        video.playbackRate = 1;
    }, false);
    document.getElementById("mute").addEventListener("click", function(evt) {
        if (video.muted) {
            video.muted = false;
        } else {
            video.muted = true;
        }
    }, false);

    // 任何视频错误会失败的消息
    video.addEventListener("error", function(err) {
        errMessage(err);
    }, true);
    // 内容加载,显示按钮和设置的事件
    video.addEventListener("canplay", function() {
        document.getElementById("buttonbar").style.display = "block";
    }, false);

    // 显示视频时长时可用
    video.addEventListener("loadedmetadata", function() {
        vLength = video.duration.toFixed(1);
        document.getElementById("vLen").textContent = vLength; // 全局变量
    }, false);

    // 显示当前剩余时间
    video.addEventListener("timeupdate", function() {
        // 当前时间
        var vTime = video.currentTime;
        document.getElementById("curTime").textContent = vTime.toFixed(1);
        document.getElementById("vRemaining").textContent = (vLength - vTime).toFixed(1);
    }, false);
    // 停下来打事件控制按钮
    video.addEventListener("pause", function() {
        document.getElementById("play").textContent = "播放";
    }, false);

    video.addEventListener("playing", function() {
        document.getElementById("play").textContent = "暂停";
    }, false);

    video.addEventListener("volumechange", function() {
        if (video.muted) {
            // 如果静音,静音imageif显示没有静音,静音的图像显示不
            document.getElementById("mute").innerHTML = "打开";
        } else {
            // 如果没有静音,静音的图像显示不
            document.getElementById("mute").innerHTML = "禁音";
        }
    }, false);
    // 下载和播放状态事件。
    video.addEventListener("loadstart", function() {
        document.getElementById("ls").textContent = "开始";
    }, false);
    video.addEventListener("loadeddata", function() {
        document.getElementById("ld").textContent = "数据加载";
    }, false);

    video.addEventListener("ended", function() {
        document.getElementById("ndd").textContent = "播放结束";
    }, false);

    video.addEventListener("emptied", function() {
        document.getElementById("mt").textContent = "视频复位";
    }, false);

    video.addEventListener("stalled", function() {
        document.getElementById("stall").textContent = "下载了";
    }, false);
    video.addEventListener("waiting", function() {
        document.getElementById("waiting").textContent = "播放器等内容";
    }, false);
    video.addEventListener("progress", function() {
        pgFlag += "+";
        if (pgFlag.length > 10) {
            pgFlag = "+";
        }
        document.getElementById("pg").textContent = pgFlag;

    }, false);
    video.addEventListener("durationchange", function() {
        document.getElementById("dc").textContent = "时间改变";
    }, false);
    video.addEventListener("canplaythrough", function() {
        document.getElementById("cpt").textContent = "准备好了整个视频";
    }, false);
} else {
    errMessage("HTML5 Video is required for this example");
    // 结束运行
}
// 显示一个错误信息

function errMessage(msg) {
    // 显示一个5秒错误消息,然后清除它
    document.getElementById("errorMsg").textContent = msg;
    setTimeout("document.getElementById(‘errorMsg‘).textContent=‘‘", 5000);
}

项目演示地址:点击查看

时间: 2024-10-25 11:55:04

html5视频事件参数详细的相关文章

【学习笔记】HTML5视频的属性、方法、事件介绍 详解

规划了一下学习路线 HTML5 -> CSS3  -> JS ->综合 7.31日开始,做好笔记做好记录 认真学习. HTMLVideoElement和HTMLAudioElement 均继承自HTMLMediaElement)所以音频文件和视频文件大多数都是一样的,除了标签名称 <video> <audio> HTML视频 大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 video 元素来包含

HTML5视频、音频播放事件属性与API控件

1.video.audio标签 <video src = "movie.mp4" controls = "controls"><video> 或者<video controls = "controls"> <source src = "movie.mp4"> <video>2.HTML5视频API 控件 (1)获得video标签 ①通过DOM对象 var video

通过html5 touch事件封装手势识别组件

html5移动端新增了touchstart,touchmove,touchend事件,利用这3个事件,判断手指的点击和划动轨迹,我们可以封装各种手势的识别功能, 这3个事件和pc端的mousedown,mousemove,mouveup非常类似,不同的是touch事件可以有多个点击的点,而鼠标每次只有一个点,我们即然是做组件封装,就要考虑在pc上调试的情况,否则用手机调试非常不方便,通过对mouse事件的处理,可以一套代码同时兼容pc端和移动端. 下面来逐步封装一个滑动手势(swipe)的组件

Jquery中AJAX参数详细介绍

在使用jquery的时候,我们经常用到jquery中对ajax的封装,下面对ajax函数的各参数详细说明和讲解,以便更好的理解和使用 $.get(url, data, callback,type) 和 $.post(url, data, callback, type). 1. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() 返回其创建的 XML

Jquery中AJAX参数详细(1)-转

http://www.cnblogs.com/qiufuwu618/archive/2012/12/20/2826190.html Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE

C# 委托和事件(二):使用事件参数(EventArgs)

前面一篇里提到事件是通过委托来进行关联的,而委托是可以带各种各样的参数的,其中就可以用事件参数(EventArgs),同时,也可以用.Net框架里边提供的一个委托EventHandler来Handle事件. 一样,搞一个场景(这个场景是书里的):买车.经销商(CarDealer)会上新车(NewCar)事件,这个事件会由买车的顾客(Comsumer)订阅,一旦有新车出来他们就会来光顾.在这里,由于需要详细的车的信息,所以使用前面提到的不带参数的方法就比较麻烦,我们重新定义一个委托(delegat

ASP.NET中定制自己的委托和事件参数类

本文笔记选自<庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术>一书 一般在实际开发中,对于事件不需要传递数据信息时,像上面的KingTextBox控件的事件,在引发事件时传递的参数为EventArgs.Empty,如下所示:OnTextChanged(EventArgs.Empty);    这是因为控件KingTextBox的TextChanged事件比较简单,这里不需要参数对象传递数据.但像一些复杂的控件比如GridView的按钮命令事件,必须得有参数命令表示单击了哪个按钮:翻

Html5之高级-4 HTML5视频处理(H5中播放视频、编程实现视频播放器)

一.在 HTML5 中播放视频 在 HTML5 中播放视频 - HTML5 中提到最多的是视频处理,视频也是互联网中的重要应用.在HTML5中,增加了一个元素,以便在HTML文档中插入和播放视频,这个元素就是video元素 - video元素提供了播放.暂停和音量控件来控制视频,也提供了width和height属性控制视频的尺寸.如设置的高度和宽度等. - 使用video元素至少要提供两种视频格式的文件: OGG和MP4 - OGG: 包含Theora 视频和 Vorbis 音频解码器 - MP

JQuery中的AJAX参数详细介绍

Jquery中AJAX参数详细介绍 参数名 类型 描述 url String    (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持. timeout Number 设置请求超时时间(毫秒).此设置将覆盖全局设置. async B