12.2.3 视频属性

12.2.3 视频属性

下面来看看哪些属性可以用于video元素,表12-2所示为常用的video元素属性。

表12-2 video元素属性

续表

1.src

在该属性中指定媒体数据的URL地址。

2.autoplay

在该属性中指定媒体是否在页面加载后自动播放。该属性的语法如下:

3.preload

在该属性中指定视频是否预加载。如果预加载,浏览器会预先将视频进行缓冲,这样可以加快播放的速度,因为播放时数据已经预先缓冲完毕。

该属性有3个可选的值:none、metadata、auto,默认值是auto。

none:表示不加载任何视频。

metadata:表示仅加载视频的元数据(媒体字节数、第一帧、播放列表、持续时间等)。

auto:表示让浏览器决定怎么做(默认设置)。

该属性的语法如下:

4.poster

该属性为海报形式。制定视频加载时要显示的图像,而不是显示视频的第一帧,接受所需图像文件的src属性。该属性的语法如下:

5.loop

在该属性中指定是否循环播放视频。该属性的语法如下:

6.controls

在该属性中指定是否为视频添加浏览器自带的播放用的控制条。控制条中具有播放、暂停等按钮。该属性的语法如下:

7.width与height

在该属性中指定视频的宽度与高度(以像素为单位)。这两个属性的语法如下:

8.error

在读取使用媒体数据的过程中,正常情况下,video元素的error属性为null,但是任何时候只要出现错误,error属性就会返回一个MediaError对象,该对象的code返回对应的错误状态,错误状态共有4个可能值:

1=MEDIA_ERR_ABORTED:取回过程被用户中止。

2=MEDIA_ERR_NETWORK:当下载时发生错误。

3=MEDIA_ERR_DECODE:当解码时发生错误。

4=MEDIA_ERR_SRC_NOT_SUPPORTED:媒体格式不被支持。

9.networkState

在媒体数据加载过程中可以使用video元素的networkState属性读取当前网络状态,该属性共有如下4个可能值:

0=NETWORK_EMPTY:视频尚未初始化。

1=NETWORK_IDLE:视频是活动的且已选取资源,但并未使用网络。

2=NETWORK_LOADING:浏览器正在下载数据。

3=NETWORK_NO_SOURCE:未找到视频来源。

10.currentSrc

可以使用video元素的currentSrc属性来读取播放中的媒体数据的URL地址。

11.buffered

可以使用video元素的buffered属性来返回一个对象,该对象实现TimeRanges接口,以确认浏览器是否已缓存媒体数据。TimeRanges对象表示用户的视频缓冲范围。缓冲范围指的是已缓冲视频的时间范围。如果用户在视频中跳跃播放,会得到多个缓冲范围。

12.readyState

可以使用video元素的readyState属性返回视频的当前就绪状态。就绪状态指示视频是否已准备好播放。该属性共有5个可能值:

0=HAVE_NOTHING:没有关于视频是否就绪的信息。

1=HAVE_METADATA:关于视频就绪的元数据。

2=HAVE_CURRENT_DATA:关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒。

3=HAVE_FUTURE_DATA:当前及至少下一帧的数据是可用的。

4=HAVE_ENOUGH_DATA:可用数据足以开始播放。

13.seeking与seekable

可以使用video元素的seeking属性返回一个布尔值,表示浏览器是否正在请求某一特定播放位置的数据,true表示正在请求,false表示已停止请求。

可以使用video元素的seekable属性返回一个TimeRanges对象,该对象表示请求到的数据的时间范畴。TimeRanges对象表示视频中用户可寻址的范围。可寻址范围指的是用户在视频中可寻址(移动播放位置)的时间范围。对于流视频,通常可以寻址到视频中的任何位置,即使其尚未完成缓冲。

14.currentTime、startTime与duration

可以使用video元素的currentTime属性设置或返回视频播放的当前位置(以秒计)。当设置该属性时,播放会跳跃到指定的位置。

可以使用video元素的startTime属性读取媒体播放的开始时间,通常为0。

可以使用video元素的duration属性返回当前视频的长度(以秒计),如果未设置视频,则返回NaN(Not-a-Number)。

15.played、paused与ended

可以使用video元素的played属性返回一个TimeRanges对象,从该对象中可以读取媒体文件的已播放部分的时间段。paused属性返回视频是否已暂停。ended属性返回视频是否已结束,如果播放位置位于视频的结尾,则视频已结束。

16.defaultPlaybackRate与playbackRate

可以使用video元素的defaultPlaybackRate属性设置或返回视频的默认播放速度。设置该属性仅会改变默认的播放速度,而不是当前的播放速度。要改变当前的播放速度,使用playbackRate属性。playbackRate属性设置或返回视频当前的播放速度。

17.volume与muted

可以使用video元素的volume属性设置或返回视频的当前音量。muted属性设置或返回视频是否应该被静音(关闭声音)。