html5的video标签只有部分浏览器支持,对于IE只有9.0+以上的版本才支持,所以对于视频播放要做兼容,下载所需要的源文件:html5media.min.js,flowplayer.controls.swfflowplayer.swf即可解决。详细步骤:
1、首先下载所需要的源文件:html5media.min.js,flowplayer.controls.swfflowplayer.swf。
2、然后将解压后的js文档和swf文档放在同一目录下,在head部分引入js文档,
3、然后在要引入视频的位置放入video标签,通常放置在div内
4、width:为视频播放宽度,height:为视频播放高度,如果视频大笑适中这里可以不设置,播放器会自动加载视频的原始大小。
如果视频原始大小太大,但不清楚比例,可以只设置高度或者宽度。另外一个设置为auto自动适应,这样视频不会变形。
如果想要视频自动播放,可在video标签中加入autoplay标签。
5、src为视频源文件的路径,poster为视频播放前显示的图片。为播放切换的自然,这里可以设置成视频播放的第一个画面截图。
preload:为预加载视频,设置为auto代表自动加载。
source标签可以省略,但是video标签内的src属性不能省略,如果省略,在IE浏览器中会报错。
所以最后精简后的源码可以如下图所示这样。
6、如果调试过程中,其他浏览器没有问题,但是ie总是有问题的话,清空ie浏览器的缓存再调试。清空缓存步骤如下,先找到Internet工具
7、进入后,点击浏览历史下面的删除按钮。
8、清除如下内容即可,完成后,再用IE刷新页面。
1,下面是一个播放视频的最简单样例(controls属性告诉浏览器要有基本播放控件)
<video src="hangge.mp4" controls></video>11
2,通过width和height设置视频窗口大小
<video src="hangge.mp4" controls width="400" height="300"></video>11
3,预加载媒体文件
设置preload不同的属性值,可以告诉浏览器应该怎样加载一个媒体文件:
(1)值为auto:让浏览器自动下载整个文件
(2)值为none:让浏览器不必预先下载文件
(3)值为metadata:让浏览器先获取视频文件开头的数据块,从而足以确定一些基本信息(比如视频的总时长,第一帧图像等)
<!-- 用户点击播放才开始下载 -->
<video src="hangge.mp4" controls preload="none"></video>1212
4,自动播放
(1)使用autoplay属性可以让浏览器加载完视频文件后立即播放。
<video src="hangge.mp4" controls autoplay></video>11
(2)如果启用自动播放,可以将播放器设置为muted状态。这样自动播放时会静音,防止用户厌烦。用户需要的话可以点击播放器扬声器图标重新打开声音。
<video src="hangge.mp4" controls autoplay muted></video>11
5,循环播放
使用loop属性让视频播放结束时,再从头开始播放。
<video src="hangge.mp4" controls loop></video>11
6,设置替换视频的图片(封面图片)
通过poster属性可以设置,浏览器在下面三种情况下会使用这个图片:
(1)视频第一帧未加载完毕
(2)把preload属性设置为none
(3)没有找到指定的视频文件
<video src="hangge.mp4" controls poster="hangge.png"></video>11
7,浏览器兼容,如何让每一个浏览器都能顺利播放视频
现在大部分浏览器都能支持H.264格式的视频,但Opera浏览器却一直不支持。我们需要通过后备措施保证每个人都能看到视频,通常有下面几种方案:
(1)使用多种视频格式
<video>和<audio>元素有个内置的格式后备系统。我们不使用src属性,而是在其内部嵌套一组<source>元素,浏览器会选择播放第一个它所支持的文件。
我们可以添加WebM格式的视频提供对Opera的支持。
<video controls>
<source src="hangge.mp4" type="video/mp4">
<source src="hangge.webm" type="video/webm">
</video>12341234
(2)添加Flash后备措施(推荐)
上面那个方法不推荐,应为Opera浏览器只占不到1%的份额。特意为它把视频都转码一边太费事。使用Flash作为备用播放方案还是很方便的,同时Flash还能兼容IE8这种连<video>元素都不支持的老浏览器。
这里使用Flowplayer Flash作为备用播放器(本地下载 :flowplayer-3.2.18.zip)
<video controls>
<source src="hangge.mp4" type="video/mp4">
<source src="hangge.webm" type="video/webm">
<object id="flowplayer" width="400" height="300"
data="flowplayer-3.2.18.swf"
type="application/x-shockwave-flash">
<param name="movie" value="flowplayer-3.2.18.swf">
<param name="flashvars" value='config={"clip":"hangge.mp4"}'>
</object>
</video>12345678910111234567891011
(3)也有人优先使用Flash,而HTML5作为后备措施。
这么做是因为Flash普及率比较高,而HTML5作为后备可以扩展iPad和iPhone用户
<object id="flowplayer" width="400" height="300"
data="flowplayer-3.2.18.swf"
type="application/x-shockwave-flash">
<param name="movie" value="flowplayer-3.2.18.swf">
<param name="flashvars" value='config={"clip":"hangge.mp4"}'>
<video controls>
<source src="hangge.mp4" type="video/mp4">
<source src="hangge.webm" type="video/webm">
</video>
</object>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)