首先简单的介绍一下视频格式:

早期的视频主要针对Flash      <object data="movie.swf" height="200" width="200"/>
       h5类似object的embed            <embed src="movie.swf" height="200" width="200"/>

那么问题来了:    1,如果浏览器不支持 Flash,将无法播放视频。

                             2,iPad 和 iPhone 不能显示 Flash 视频。

                             3,如果您将视频转换为其他格式,那么它仍然不能在所有浏览器中播放。

                             4,操作不够灵活

H5视频标签的使用: 


<video width="800" height="400">
  <source src="myvideo.mp4" type="video/mp4"></source>
  <source src="myvideo.ogv" type="video/ogg"></source>
  <source src="myvideo.webm" type="video/webm"></source>
  <object width="" height="" type="application/x-shockwave-flash" data="myvideo.swf">
  <param name="movie" value="myvideo.swf" />
  <param name="flashvars" value="autostart=true&file=myvideo.swf" />
  </object>

  当前浏览器不支持 video直接播放,点击这里下载视频: <a href="myvideo.webm">下载视频</a>


                              source:拥有两份源文件的音频播放器。浏览器应该选择它所支持的文件(如果有的话), type告诉浏览器这个文件是什么类型的,不支持的话就直接不管了 

                                               也就是说 浏览器根据自己的支持自动判断选择视频的格式

HTML5支持的视频格式:


《video的常见属性》


属性

描述

autoplay

autoplay

视频就绪自动播放

controls

controls

向用户显示播放控件

width

pixels(像素)

设置播放器宽度

height

pixels(像素)

设置播放器高度

loop

loop

播放完是否继续播放该视频,循环播放

preload

preload

是否等加载完再播放

src

url

视频url地址

poster

imgurl

加载等待的画面图片




属性

说明

audioTracks

返回可用的音轨列表(MultipleTrackList对象)

autoplay

媒体加载后自动播放

buffered

返回缓冲部件的时间范围(TimeRanges对象)

controller

返回当前的媒体控制器(MediaController对象)

controls

显示播控控件

crossOrigin

CORS设置

currentSrc

返回当前媒体的URL

currentTime

当前播放的时间,单位秒

defaultMuted

缺省是否静音

defaultPlaybackRate

播控的缺省倍速

属性

说明

duration

返回媒体的播放总时长,单位秒

ended

返回当前播放是否结束标志

error

返回当前播放的错误状态

initialTime

返回初始播放的位置

loop

是否循环播放

mediaGroup

当前音视频所属媒体组 (用来链接多个音视频标签)

muted

是否静音

networkState

返回当前网络状态

paused

是否暂停

playbackRate

播放的倍速(加速、减速播放)

played

当前播放部件已经播放的时间范围(TimeRanges对象)

preload

页面加载时是否同时加载音视频

readyState

返回当前的准备状态

seekable

返回当前可跳转部件的时间范围(TimeRanges对象)

属性

说明

seeking

返回用户是否做了跳转操作

src

当前音视频源的URL

startOffsetTime

返回当前的时间偏移(Date对象)

textTracks

返回可用的文本轨迹(TextTrackList对象)

videoTracks

返回可用的视频轨迹(VideoTrackList对象)

volume

音量值



事件

描述

abort

当音视频加载被异常终止时产生该事件

canplay

当浏览器可以开始播放该音视频时产生该事件

canplaythrough

当浏览器可以开始播放该音视频到结束而无需因缓冲而停止时产生该事件

durationchange

当媒体的总时长改变时产生该事件

emptied

当前播放列表为空时产生该事件

ended

当前播放列表结束时产生该事件

error

当加载媒体发生错误时产生该事件

loadeddata

当加载媒体数据时产生该事件

loadedmetadata

当收到总时长,分辨率和字轨等metadata时产生该事件

loadstart

当开始查找媒体数据时产生该事件

事件

描述

pause

当媒体暂停时产生该事件

play

当媒体播放时产生该事件

playing

当媒体从因缓冲而引起的暂停和停止恢复到播放时产生该事件

progress

当获取到媒体数据时产生该事件

ratechange

当播放倍数改变时产生该事件

seeked

当用户完成跳转时产生该事件

seeking

当用户正执行跳转时操作的时候产生该事件

stalled

当试图获取媒体数据,但数据还不可用时产生该事件

suspend

当获取不到数据时产生该事件

timeupdate

当前播放位置发生改变时产生该事件

volumechange

当前音量发生改变时产生该事件

waiting

当视频因缓冲下一帧而停止时产生该事件



方法

属性  paused

事件

play()

currentSrc

play

pause()

currentTime

pause


videoWidth(视频文件的宽高,不是video标签的宽高)

timeupdate


videoHeight




全屏

退出全屏

Webkit

 (Safari5.1 /Chrome 15)

element.webkitRequestFullScreen();

document.webkitCancelFullScreen(); 

Firefox 

(works in nightly)

element.mozRequestFullScreen();

document.mozCancelFullScreen(); 

W3C 提议

element.requestFullscreen();

document.exitFullscreen();