<big><b>Web上的视频</b></big>
直到现在,仍然不存在一项旨在网页上显示视频的标准。<br />
今天,大多数的视频都是通过插件(例如flash)来显示的。然而,并非所有的浏览器都有同样的插件。
HTML5通过<b><i>video</i></b>元素来包含视频的标准方法。
当前video元素支持三种视频格式:
<a name="tips1"></a>
- 视频格式(^下表可能在竖屏手机中适配有问题 )
|格式|IE|FireFox|Opera|Chrome|Safari
|---|---|---|---|---|---|---|
|Ogg|No|3.5+|10.5+|5.0+|No|
|MPEG 4|9.0+|No|No|5.0+|3.0+|
|WebM|No|4.0+|10.6+|6.0+|No|
Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件
-
如何工作
如果需要在HTML5中显示视频,需要一下代码
<video src="movie.mp4" controls="controls">
</video>
<!--controls属性提供播放、暂停和音量控件。
也可以添加上宽width和高height等属性,
<video>和</video>之间添加的内容是供不支持video元素的浏览器显示的
-->
例子:
<video src="movie.ogg" width="320" height="240" controls="controls">
Your browser does not support the video tag.
</video>
要确保safari浏览器能够播放,视频文件需要是MP4文件格式
video 元素允许多个 source 元素。source 元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式.
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Video</title>
</head>
<body>
<video width="400" height="320" controls="controls">
//适配兼容性
<source src="http://120.25.251.44/best_upload/2015/09/201509201341461407893862.mp4" type="video/ogg"></source>
//加载MP4文件路径
<source src="http://120.25.251.44/best_upload/2015/09/201509201341461407893862.mp4" type="video/mp4"></source>
</video>
</body>
</html>
Internet Explorer 8 不支持 video 元素。在 IE 9 中,将提供对使用 MPEG4 的 video 元素的支持。
<a name="tips3"></a>
- <video>标签的属性(^下表可能在竖屏手机中适配有问题 )
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 如果出现该属性,则在视频就绪后就开始播放 |
controls | controls | 如果出现该属性,则向用户展示控件,例如播放按钮 |
height | px | 设置视频播放器的高度 |
loop | loop | 如果出现该属性,则在视频播放结束后再次开始播放该视频 |
preload | preload | 如果出现该属性,则在视频页面加载时进行加载,并预备播放。如果使用了autoplay,则忽略该属性 |
src | url | 要播放视频的url |
width | px | 设置视频播放器的宽度 |
-
Video + DOM
HTML5 <video>元素使用DOM进行控制,<video>元素同样拥有方法、属性和事件。
其中的方法用于播放、暂停和加载等事件。其中的属性(时长、音量)可以被读取和设置。其中DOM事件能够通知您,比方说,<video>元素开始播放、已暂停、已停止等等。
例子:
<!DOCTYPE html>
<html>
<body>
<div style="text-align:center;">
<button onclick="playPause()">播放/暂停</button>
<button onclick="makeBig()">大</button>
<button onclick="makeNormal()">中</button>
<button onclick="makeSmall()">小</button>
<br />
<video id="video1" width="420" style="margin-top:15px;">
<source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4" />
<source src="http://www.w3school.com.cn//example/html5/mov_bbb.ogg" type="video/ogg" />
Your browser does not support HTML5 video.
</video>
</div>
<script type="text/javascript">
var myVideo=document.getElementById("video1");
function playPause()
{
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
function makeBig()
{
myVideo.width=560;
}
function makeSmall()
{
myVideo.width=320;
}
function makeNormal()
{
myVideo.width=420;
}
</script>
</body>
</html>
代码演示页面:[Click me](http://www.w3school.com.cn/tiy/t.asp?f=html5_video_dom)
上面的例子调用了两个方法:play() 和 pause()。它同时使用了两个属性:paused 和 width。
* **HTML5 <video>的方法、属性以及事件**
下面列出了大多数浏览器支持的视频方法、属性和事件:
![1.png](http:https://img.haomeiwen.com/i627491/b2002903c8883e00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**注意:**在这些属性中,只有videoWidth 和 videoHeight是可以直接使用的,其他的属性,都需要视频元数据加载后才可以使用。
<br /><br /><br />
<small>—谢谢W3C提供的学习资源</small>
网友评论