马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
1. 视频处理
* 基本内容
* 目前实现网页视频播放的技术 - Flash
* Flash并不是浏览器原生支持(第三方组件)
* Flash的性能并不好
* 移动端不支持Flash技术
* HTML 5提供的视频处理技术 - <video>
* 提供了相对应的基本处理方式
* 提供了高级编程自定义方式
* <video>元素所支持的视频格式
* MP4格式 - 视频文件扩展名为".mp4"
* OGG格式 - 视频文件扩展名为".ogv"
* WEBM格式 - 视频文件扩展名为:".webm"
* 如何使用<video>元素播放视频
* 引入单个视频格式
<video src="视频文件的路径" autoplay>
浏览器不支持的提示内容
</video>
* autoplay属性 - 自动播放视频
* width属性 - 设置视频的宽度
* height属性 - 设置视频的高度
* style属性 - 设置CSS样式
* class属性 - 设置CSS样式
例如:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>如何使用video元素一</title>
- </head>
- <body>
- <!--
- <video>元素 - 起始元素
- * src属性 - 引入视频文件的路径
- * width属性 - 设置视频的宽度
- * height属性 - 设置视频的高度
- * style属性 - 设置CSS样式
- * class属性 - 设置CSS样式
- * autoplay属性 - 自动播放视频
- * 只需要定义属性名即可(不需要属性值)
- 问题 - 如果浏览器不支持HTML 5的<video>
- * 在<video>元素内,提供对应提示内容
- -->
- <video src="oceans.mp4" autoplay width="640px" height="400px" style="background:black;">
- 非常抱歉,你的浏览器不支持该视频!
- </video>
- </body>
- </html>
复制代码效果如下:
* 引入多个视频格式
<video autoplay>
<source src="视频文件的路径" />
<source src="视频文件的路径" />
<source src="视频文件的路径" />
浏览器不支持的提示内容
</video>
* <video>元素的特有属性
* autoplay属性 - 自动播放
* controls属性 - 提供控制面板
* loop属性 - 循环播放
* poster属性 - 播放之前实现一张图片
* preload属性 - 预加载视频
* none - 不预加载
* auto - 默认值,尽快预加载
* metadata - 预加载除视频之外的内容(宽度、高度等)
例如:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>如何使用video元素二</title>
- </head>
- <body>
- <!-- 解决了浏览器对视频格式的兼容问题 -->
- <video controls loop poster="oceans.png">
- <!--
- <source>元素
- * 引入视频文件(一个<video>元素允许包含多个<source>)
- -->
- <source src="oceans.mp4" />
- <source src="oceans.ogv" />
- <source src="oceans.webm" />
- </video>
- </body>
- </html>
复制代码播放之前页面效果:
点击播放按钮后:
* 视频高级编程方式
* 事件
* play - 视频播放时触发
* pause - 视频暂停时触发
* ended - 视频播放结束时触发
* error - 视频播放错误时触发
例如:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>video元素的高级事件</title>
- <style>
- img {
- position: absolute;
- top : 66px;
- left : 160px;
- display : none;
- }
- </style>
- </head>
- <body>
- <video id="mmedia" src="oceans.mp4" controls></video>
- <img id="adv" src="oceans.png" width="320">
-
- <script>
- var mmedia = document.getElementById("mmedia");
- var adv = document.getElementById("adv");
- mmedia.addEventListener("pause",function(){
- adv.style.display = "block";
- });
- mmedia.addEventListener("play",function(){
- adv.style.display = "none";
- });
- </script>
- </body>
- </html>
复制代码在播放过程中,点击暂停后:
点击播放后:
* 方法
* play() - 用于播放视频
* pause() - 用于暂停视频
* load() - 用于加载视频
* canPlayType() - 判断当前浏览器是否支持当前视频格式
* 属性
* paused - 如果视频为暂停或未播放时,返回true
* ended - 如果视频播放完毕时,返回true
* duration - 返回当前视频的时长
* currentTime - 获取或设置视频的当前位置
例如:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>video元素的高级方法</title>
- </head>
- <body>
- <video id="mmedia" src="oceans.mp4"></video>
- <br>
- <input type="button" id="btn" value="播放">
- <script>
- var btn = document.getElementById("btn");
- var mmedia = document.getElementById("mmedia");
- btn.onclick = function(){
- if(mmedia.paused){// 如果当前处于暂停状态
- // 播放视频
- mmedia.play();
- // 修改button值为暂停
- this.value = "暂停";
- }else{// 否则当前处于播放状态
- // 暂停视频
- mmedia.pause();
- // 修改button值为播放
- this.value = "播放";
- }
- }
- </script>
- </body>
- </html>
复制代码页面加载完效果:
点击播放按钮后:
点击暂停按钮后:
|