HTML5实践篇之video

基于前几天的基础篇,几天来实际动手实现Video播放器。

下面是一个播放视频的样例

直接上传代码吧

<!DOCTYPE>
<html>
    <head>
        <title>html 播放器</title>
        <meta charset="utf-8">
    </head>
    <body>
       <div>
           <video src="./mp4/2017.09.10-12.54.34.mp4" controls width="400" autoplay loop></video>
       </div>
    </body>
</html> 

看代码是不是很简单,那这里就再过一遍基础吧。

1,controls属性告诉浏览器要有基本播放控件

2,通过width和height设置视频窗口大小

3,设置preload不同的属性值,可以告诉浏览器应该怎样加载一个媒体文件

(1)值为auto:让浏览器自动下载整个文件
(2)值为none:让浏览器不必预先下载文件
(3)值为metadata:让浏览器先获取视频文件开头的数据块,从而足以确定一些基本信息(比如视频的总时长,第一帧图像等)

4,使用autoplay属性可以让浏览器加载完视频文件后立即播放。
     如果启用自动播放,可以将播放器设置为muted状态。这样自动播放时会静音,防止用户厌烦。用户需要的话可以点击播放器扬声器图标重新打开声音。

5,使用loop属性让视频播放结束时,再从头开始播放。

6,通过poster属性可以设置,浏览器在下面三种情况下会使用的图片:

(1)视频第一帧未加载完毕
(2)把preload属性设置为none
(3)没有找到指定的视频文件

浏览器兼容,如何让每一个浏览器都能顺利播放视频 

现在大部分浏览器都能支持H.264格式的视频,但Opera浏览器却一直不支持。我们需要通过后备措施保证每个人都能看到视频,通常有下面几种方案

1,使用多种视频格式

<video>和<audio>元素有个内置的格式后备系统。我们不使用src属性,而是在其内部嵌套一组<source>元素,浏览器会选择播放第一个它所支持的文件。
我们可以添加WebM格式的视频提供对Opera的支持。

<video controls>
    <source src="2017.09.10-12.54.34.mp4" type="video/mp4">
    <source src="2017.09.10-12.54.34.webm" type="video/webm">
</video>

2,添加Flash后备措施(推荐)

上面那个方法不推荐,应为Opera浏览器只占不到1%的份额。特意为它把视频都转码一边太费事。使用Flash作为备用播放方案还是很方便的,同时Flash还能兼容IE8这种连<video>元素都不支持的老浏览器。

这里使用Floeplayer Flash作为备用播放器

<head>
    <title>html 播放器</title>
    <meta charset="utf-8">
</head>

<body>
    <div>
        <video controls>
            <source src="./mp4/2017.09.10-12.54.34.mp4" type="video/mp4">
            <object id="" width=“400” height="300" data="flowplayer-3.2.18.swf" type="application/x-shockwave-flash">
                <param name="movie" value="./flowplayer/flowplayer-3.2.18.swf">
            </object>
        </video>
    </div>
</body>

3,也有人优先使用Flash,而HTML5作为后备措施。

这么做是因为Flash普及率比较高,而HTML5作为后备可以扩展iPad和iPhone用户

<!DOCTYPE>
<html>

<head>
    <title>html 播放器</title>
    <meta charset="utf-8">
</head>

<body>
    <div> 
        <object id="" width=“400” height="300" data="flowplayer-3.2.18.swf" type="application/x-shockwave-flash">
             <param name="movie" value="./flowplayer/flowplayer-3.2.18.swf">
<video controls>
             <video controls>
               <source src="./mp4/2017.09.10-12.54.34.mp4" type="video/mp4">
             </video>
        </object>
    </div>
</body>

</html>

  

posted @ 2017-09-12 09:55  苏皖  阅读(193)  评论(0编辑  收藏  举报