当今,在网页上嵌入视频且所有用户不管使用任何浏览器,或者操作系统都能看到的唯一可靠方法是使用Flash。这需要Adobe Flash插件,并且结合<object>和<embed>标签。但HTML 5的出现改变了这一事实,其中视频标签<Video>的出现无疑是HTML 5的一大亮点。(相关文章推荐:使用HTML 5视频标签注意事项)
51CTO推荐专:HTML 5 下一代Web开发标准
Video标签介绍
大多数用户已经安装了Flash插件(事实上,大概95%的上网用户都装有Flash的某个版本),但HTML 5的支持者正在推动一个开放的,不需要任何插件的视频标准。这就是HTML 5的新标签<video>带来的构想,他提供了一个嵌入视频(以及与其交互)而不需要类似Flash的私有插件的方法。
不幸的是,视频并非那么简单。不仅仅是浏览器需要理解<video>标签,而且需要一个必要的编码译码器来播放视频。明显的解决方法只能是HTML 5规范的缔造者们选择一个视频编码译码器,并且让每一个浏览器制造商执行。
总之,这就是所推荐的打算。同时,这也是引起混乱的导火索。对于各种各样编码译码器的争论就已经很烦杂了,但更悲剧的事情是,浏览器制造商们还不能就此达成统一。苹果不愿意使用提议的Ogg Theora编码译码器,但Opera和Mozilla也不愿意支付由于他们的浏览器装载H.264编码译码器而造成的许可费用。Google同时支持两者,微软面对争论,远远的置身事外,因为他现在根本没有计划去支持HTML 5的视频元素。
面对浏览器制造商的僵持局面,HTML 5善意的独裁者Ian Hickson甩了甩他的手并说到去他妈的。所以HTML 5规范中没有特别指名或规定的视频编码解码器。”好吧,引用到这儿。
如今的情况是,微软终于陷进去了,但很悲剧的是,在IE 9中只支持H.264。同时,Googe终于在I/O大会上发布了开源的视频封装格式webM和视频编码格式VP8。Opera、Mozilla、Chrome宣布将完全支持VP8,IE宣布部分支持(需要装一个插件,但如果我没记错的话,HTML 5的一个愿景就是脱离浏览器插件,微软真是让人觉得悲剧)。
苹果决定不支持VP8,乔布斯认为VP8在质量或效率方面不如H.264,不能满足其产品的要求。另外最新消息表明VP8还有可能牵扯到专利的问题(如果真的侵犯专利的话,Opera和Firefox估计马上会无视VP8的)。
说了这么多,其实说到底就是,现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera、Mozilla、Chrome),支持H.264的(Safari、IE 9、Chrome),都不支持的(IE6、7、8)。好吧,现在让我们从技术层面来认识HTML 5的视频,包括video标签的使用,视频对象可以用到的媒介属性和方法,以及媒介事件。
Video标签的使用
Video标签含有src、poster、preload、autoplay、loop、controls、width、height等几个属性,以及一个内部使用的标签<source>。Video标签内除了可以包含<source>标签外,还可以包含当指定的视频都不能播放时,返回的内容。
(1) src属性和poster属性
你能想象src属性是用来干啥的。跟<img>标签的一样,这个属性用于指定视频的地址。而poster属性用于指定一张图片,在当前视频数据无效时显示(预览图)。视频数据无效可能是视频正在加载,可能是视频地址错误等等。
(2) preload属性
这个属性也能通过名字了解用处,此属性用于定义视频是否预加载。属性有三个可选择的值:none、metadata、auto。如果不使用此属性,默认为auto。
None:不进行预加载。使用此属性值,可能是页面制作者认为用户不期望此视频,或者减少HTTP请求。
Metadata:部分预加载。使用此属性值,代表页面制作者认为用户不期望此视频,但为用户提供一些元数据(包括尺寸,第一帧,曲目列表,持续时间等等)。
Auto:全部预加载。
(3) autoplay属性
又是一个看名字知道用处的属性。Autoplay属性用于设置视频是否自动播放,是一个布尔属性。当出现时,表示自动播放,去掉是表示不自动播放。
注意,HTML中布尔属性的值不是true和false。正确的用法是,在标签中使用此属性表示true,此时属性要么没有值,要么其值恒等于他的名字(此处,自动播放为<video autoplay />或者<video autoplay=”autoplay” />);而在标签中不使用此属性表示false(此处不进行自动播放为<video />)。
HTML 5的出现使人们在观看Web视频时不再需要安装Falsh插件,Video标签也成为HTML 5中的一大亮点,文章将向您完整的介绍Video标签。
(4) loop属性
一目了然,loop属性用于指定视频是否循环播放,同样是一个布尔属性。
(5) controls属性
Controls属性用于向浏览器指明页面制作者没有使用脚本生成播放控制器,需要浏览器启用本身的播放控制栏。
控制栏须包括播放暂停控制,播放进度控制,音量控制等等。
每个浏览器默认的播放控制栏在界面上不一样。由于我浏览器的诡异问题,Firefox和Safari的Video标签不正常,所以这两个只能在网上找截图了。
(6) width属性和height属性
属于标签的通用属性了,这个不用多说。
(7) source标签
Source标签用于给媒体(因为audio标签同样可以包含此标签,所以这儿用媒体,而不是视频)指定多个可选择的(浏览器最终只能选一个)文件地址,且只能在媒体标签没有使用src属性时使用。
浏览器按source标签的顺序检测标签指定的视频是否能够播放(可能是视频格式不支持,视频不存在等等),如果不能播放,换下一个。此方法多用于兼容不同的浏览器。Source标签本身不代表任何含义,不能单独出现。
此标签包含src、type、media三个属性。
src属性:用于指定媒体的地址,和video标签的一样。
Type属性:用于说明src属性指定媒体的类型,帮助浏览器在获取媒体前判断是否支持此类别的媒体格式。
Media属性:用于说明媒体在何种媒介中使用,不设置时默认值为all,表示支持所有媒介。你想到<style>标签的media属性了么?一样一样一样的。
(8) 一个完整的例子
这段代码在页面中定义了一个视频,此视频的预览图为poster的属性值,显示浏览器的默认媒体控制栏,预加载视频的元数据,循环播放,宽度为900像素,高度为240像素。
第一选择视频地址为第一个source标签的src属性值,视频类别为Ogg视频,视频编码译码器为Theora,音频编码译码器为Vorbis,播放媒介为显示器;第二选择视频地址不再累述。如果你还要兼容IE的话,可以在最后一个source标签后再加上Flash播放器的标签集,或者使用一点JavaScript代码。
分享到:
相关推荐
### Flash Object标签及其属性详解 在HTML中嵌入Flash内容是一项常见的需求,尤其是在早期Web开发中。`<object>`标签是实现这一目标的关键工具之一。本文将深入探讨使用`<object>`标签及其相关属性来嵌入Flash内容...
在"[Java.Web培训视频]_001.HTML常见标签深入详解"这个课程中,我们将深入探讨HTML的核心标签及其用法。 1. HTML结构标签:HTML文档通常由`<!DOCTYPE>`声明、`<html>`根元素、`<head>`头部元素和`<body>`主体元素...
本书“HTML5开发精要与实例详解”深入浅出地介绍了HTML5的核心概念、语法特性以及实际应用,旨在帮助读者快速掌握这一新技术。 首先,HTML5在结构元素上的改进是其一大亮点。它引入了如、、、等语义化标签,使得...
HTML标签属性详解 HTML标签属性是HTML语言中最基本也是最重要的一部分。HTML标签属性可以分为两大类:通用属性和自定义属性。通用属性是所有HTML标签都拥有的属性,如id、class、style、title等。自定义属性是指...
### HTML:自定义标签属性详解 #### 一、引言 HTML 作为 Web 开发的基础语言之一,提供了丰富的标签及属性来构建网页内容。在实际应用中,有时我们需要为 HTML 元素添加额外的信息或功能,这就需要用到自定义属性...
本篇文章将全面解析HTML标签的用法,为网站开发者提供详细的指导。 首先,我们来了解一下HTML的基本结构。一个标准的HTML文档通常由三部分组成:文档声明、头部(head)和主体(body)。文档声明例如`<!DOCTYPE ...
### HTML5新增标签和属性详解 #### 一、HTML5新增标签 HTML5引入了许多新的标签,这些标签不仅增强了网页的语义性,还提供了更丰富的功能。下面将详细介绍几个重要的新增标签及其用途。 ##### 1. `<article>` - *...
### HTML标签属性详解 #### 一、HTML基础知识简介 HTML(Hyper Text Markup Language)是一种标记语言,用于构建网页结构。HTML文档由多个标签组成,这些标签定义了文档的结构和内容。HTML标签可以包含多种属性,...
### HTML标签详解与HTML指令详解 #### 一、HTML文档结构 HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言。一个基本的HTML文档结构包括`<html>`标签内的`<head>`和`<body>`两个主要部分。 ###...
属性是HTML标签的关键组成部分,它们进一步定义了元素的行为和外观。例如: - `ALIGN`:用于设置元素的对齐方式,可以是`LEFT`(默认)、`CENTER`或`RIGHT`。 - `BGCOLOR`:设置元素的背景色,通常使用RGB十六进制值...
Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:...
### HTML标签与属性详解 HTML,即HyperText Markup Language,是一种标准标记语言,用于创建网页。HTML通过一系列的标签和属性来定义网页的结构和内容。以下是对HTML中常用标签及其属性的详细解读: #### 文档结构...
HTML5 基础标签详解 HTML5 是当今 web 开发中最基础和最重要的技术之一。它提供了一些基本结构和标签,让开发者可以快速构建网页。下面将详细介绍 HTML5 的基本结构和一些常用的基础标签。 一、HTML 的基本结构 ...
### HTML标签详解大全 在网页开发中,HTML(HyperText Markup Language)是构建网页内容的基础语言,通过不同的标签实现各种功能。本文将详细介绍HTML的基本结构及其常用标签的使用方法。 #### HTML基本结构 HTML...
《HTML5开发精要与实例详解》这本书无疑是一本深入学习HTML5的优秀教程,通过配套的源码,我们可以更直观地理解并实践书中的理论知识。 首先,HTML5的新元素是其一大亮点。例如,`<header>`、`<footer>`、`<nav>`和...
### HTML标签属性详解 #### 跑马灯与动态效果 - **`<marquee>`**:这是一个非标准但广泛使用的HTML元素,用于创建文本或图像的滚动效果。 - **`behavior`**:定义了内容如何移动。 - `slide`:内容将一次性滑入...
其中,HTML标签库是Struts中非常重要的一部分,它专门用于创建与Struts框架交互的HTML输入表单。 **HTML标签库** HTML标签库主要用于生成HTML元素,构建表单,以及展示错误信息。它分为三个主要类别: 1. **基本...
### HTML标签及属性详解 HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它由一系列的元素组成,这些元素通过标签表示。下面将详细解释部分常用的HTML标签及其属性,帮助理解网页结构和功能。 #...
### HTML5视频应用详解 #### 一、HTML5视频的重要性及背景 随着互联网技术的不断发展,HTML5作为新一代网页标准语言,在多媒体应用方面展现出了强大的潜力。尤其在视频播放方面,HTML5提供了一种无需插件即可直接...
### .NET 获取 HTML 字符串中指定标签的指定属性的值 在.NET框架下,有时候我们需要从HTML字符串中提取特定的信息。例如,我们可能需要从一个包含多个`<img>`或`<a>`标签的HTML字符串中提取出`src`或`href`属性的值...