HTML网页中插入视频的方法

现在如果要在页面中使用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属性用于指定一张图片,在当前视频数据无效时显示(预览图)。视频数据无效可能是视频正在加载,可能是视频地址错误等等。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay"></video>


 


(2) preload属性


这个属性也能通过名字了解用处,此属性用于定义视频是否预加载。属性有三个可选择的值:none、metadata、auto。如果不使用此属性,默认为auto。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none"></video>


None:不进行预加载。使用此属性值,可能是页面制作者认为用户不期望此视频,或者减少HTTP请求。


Metadata:部分预加载。使用此属性值,代表页面制作者认为用户不期望此视频,但为用户提供一些元数据(包括尺寸,第一帧,曲目列表,持续时间等等)。


Auto:全部预加载。


(3) autoplay属性


又是一个看名字知道用处的属性。Autoplay属性用于设置视频是否自动播放,是一个布尔属性。当出现时,表示自动播放,去掉是表示不自动播放。
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none"></video>


注意,HTML中布尔属性的值不是true和false。正确的用法是,在标签中使用此属性表示true,此时属性要么没有值,要么其值恒等于他的名字 (此处,自动播放为<video autoplay />或者<video autoplay=”autoplay” />);而在标签中不使用此属性表示false(此处不进行自动播放为<video />)。


 (4) loop属性
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" loop="loop"></video>


一目了然,loop属性用于指定视频是否循环播放,同样是一个布尔属性。


(5) controls属性
<video width="658" height="444" src="http://www.youname.com/images/first.mp4" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none" controls="controls"></video>


 


Controls属性用于向浏览器指明页面制作者没有使用脚本生成播放控制器,需要浏览器启用本身的播放控制栏。


控制栏须包括播放暂停控制,播放进度控制,音量控制等等。


每个浏览器默认的播放控制栏在界面上不一样。由于我浏览器的诡异问题,Firefox和Safari的Video标签不正常,所以这两个只能在网上找截图了。


(6) width属性和height属性


属于标签的通用属性了,这个不用多说。


(7) source标签
<video width="658" height="444" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none" controls="controls"><source src="http://www.youname.com/images/first.ogv" /><source src="http://www.youname.com/images/first.ogg" /></video>


 


Source标签用于给媒体(因为audio标签同样可以包含此标签,所以这儿用媒体,而不是视频)指定多个可选择的(浏览器最终只能选一个)文件地址,且只能在媒体标签没有使用src属性时使用。


浏览器按source标签的顺序检测标签指定的视频是否能够播放(可能是视频格式不支持,视频不存在等等),如果不能播放,换下一个。此方法多用于兼容不同的浏览器。Source标签本身不代表任何含义,不能单独出现。


此标签包含src、type、media三个属性。


src属性:用于指定媒体的地址,和video标签的一样。


Type属性:用于说明src属性指定媒体的类型,帮助浏览器在获取媒体前判断是否支持此类别的媒体格式。


Media属性:用于说明媒体在何种媒介中使用,不设置时默认值为all,表示支持所有媒介。你想到<style>标签的media属性了么?一样一样一样的。


(8) 一个完整的例子
<video width="658" height="444" poster="http://www.youname.com/images/first.png" autoplay="autoplay" preload="none" controls="controls"><source src="http://www.youname.com/images/first.ogv" /><source src="http://www.youname.com/images/first.ogg" /></video>


这段代码在页面中定义了一个视频,此视频的预览图为poster的属性值,显示浏览器的默认媒体控制栏,预加载视频的元数据,循环播放,宽度为900像素,高度为240像素。


第一选择视频地址为第一个source标签的src属性值,视频类别为Ogg视频,视频编码译码器为Theora,音频编码译码器为Vorbis,播放媒 介为显示器;第二选择视频地址不再累述。如果你还要兼容IE的话,可以在最后一个source标签后再加上Flash播放器的标签集,或者使用一点 JavaScript代码。


 
<iframe>和<frame>区别
1、frame不能脱离frameSet单独使用,iframe可以


2、frame不能放在body中,否则不能正常显示


  frame不能和body同时使用 


<!--<body>--> 
<frameset rows="50%,*">
  <frame name="frame1" src="test1.htm"/>
<frame name="frame2" src="test2.htm"/>
</frameset>
<!--</body>--> 
iframe可以和body同时使用
<body> 
<frameset>
  <iframe height="30%"name="frame1" src="test1.htm"/>
<iframe height="100"name="frame2" src="test2.htm"/>
</frameset>
</body>


3、嵌套在frameSet中的iframe必需放在body中,不嵌套在frameSet中的iframe可以随意使用


4、frame的高度只能通过frameSet控制;iframe可以自己控制,不能通过frameSet控制


区别:


   frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架,可以用它将一个HTML文档嵌入在另一个HTML中显示。


最大区别是网页中嵌入<Iframe>包含的内容与整个页面是一个整体,而<Frame>包含的内容是独立的个体,是可以独立显示的。


另外,Iframe还可以在页面中多次显示同一内容,而不必重复这段内容的代码。


5、 iframe 可以放到表格里面。frame 则不行。


    <table> 


       <tr> 


        <td><iframe id="" src=""></iframe></td><td></td> 


       </tr> 


    </table> 


6、iframe是活动帧,  而frame是非活动帧   


   iframe用起来更灵活,不需要frame那么多讲究,而且放的位置也可以自己设。


   iframe是内嵌的,比较灵活,不过也有不好的地方,就是位置在不同的浏览器和分辨率下有可能不同,有时会把本来好好的页面搞得变形。


   iframe是一个网页中的子框架,两网页间是父子关系,


   iframe是一个浮动的框架,就是在你的页面里再加上一个页面。


   frame用来把页面横着或竖着切开,<iframe>用来在页面中插入一个矩形的小窗口。


   frame是把网页分成多个页面的页面。它要有一个框架集页面frameset。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页