知识说明:

比不上很牛的前端开发人员,但自始至终明白“万丈高楼平地起”,基础最重要,初学HTML5,稳固基础第一步,把最基本的整理下来,留下自己学习的痕迹。HTML5新增的video标签,将其属性以及API使用整理下来,无论以后用不用得到,都是自己的一笔宝贵的财富。

Video标签:

一、video支持视频格式:

以下是三种最常用的格式

1、 ogg格式:带有Theora视频编码(免费)+Vorbis音频编码的Ogg文件(免费)

支持的浏览器:firefox、chrome、opera

2、 MPEG4格式:带有H.264视频编码(收费)+AAC音频编码的MPEG4文件(收费)

支持的浏览器:safari、chrome

3、 Webm格式:带有VP8视频编码(免费)+Vorbis音频编码的WebM格式(免费)

支持的浏览器:IE、firefox、chrome、opera

优势:全免费、压缩比较好(小)、视频质量好

劣势:视频少、转码器几乎没有,不好转码

二、标签原型:

1、//指定一种视频格式,不能播就提示

代码片段:

<video src = “***.mp4” controls=”controls”>

您的浏览器不支持video标签,建议更新浏览器版本

</video>

2、//给定多种视频格式,浏览器根据自身支持程度选择播放哪一种

注意:多个source标签,浏览器会从第一个开始识别,如果第一个不被识别,则会继续识别第二个;如果第一个识别成功,则会直接播放第一种格式视频

代码片段:

<video controls = “controls”>

<source src=”1.mp4” type=”video/mp4” />  //src属性写到source标签中,要指定视频的type类型,例如MP4的即为type=“video/mp4”

<source src = “2.ogg” type=”video/ogg” />  //ogg格式

<source src=”3.webm” type=”video/webm” />   //webm格式

</video>

三、标签属性:

虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=”属性值”)格式,避免出现错误 (下面红色加粗的属性为常用属性)

属性

功能描述

controls

controls

是否显示播放控件

autoplay

autoplay

设置是否打开浏览器后自动播放

width

Pilex(像素)

设置播放器的宽度

height

Pilex(像素)

设置播放器的高度

loop

loop

设置视频是否循环播放(即播放完后继续重新播放)

preload

preload

设置是否等加载完再播放

src

url

设置要播放视频的url地址

poster

imgurl

设置播放器初始默认显示图片

autobuffer

autobuffer

设置为浏览器缓冲方式,不设置autoply才有效

四、video标签API:

Video标签也提供了比较人性化的API接口,供写JS时直接调用,方便简单

API

事件说明

play

video.play();    播放视频

pause

video.pause();  暂停播放视频

load

video.load();   将全部属性回复默认值,视频恢复重新开始状态

canPlayType

var support = videoid.canPlayType('video/mp4');   判断浏览器是否支持当前类型的视频格式

返回值:

空字符串:不支持

Maybe:可能支持

Probably:完全支持

关于video标签的API在JS中用法如下:

<button onclick=”isPlay(this)”>播放</button>

<button onclick=”replay()”>重新播放</button>

<script>

var video = document.getElementById(‘video’);  //括号内为video标签的id

//播放视频(点击播放按钮,后变成暂停)

   function isPlay(obj)

  {

   If(video.paused)

    {

      Obj.innerHTML=”暂停”;

      Video.play();

    }else{

     Obj.innerHTML=”播放”;

     Video.pause();

    }

  }

//暂停播放

function replay()

{

Video.load();

}

//判断要播放的视频格式当前浏览器是否支持

function isPlayType()

{

Var support = video.canPlayType(“video/mp4”);

Console.log(support);  //返回结果:空字符串、maybe(可能支持)、probably(支持)

}

</script>

五、video标签API属性:

Video不仅提供了API接口,还提供了许多的API属性,方便在JS中做判断,如下:

API属性

事件说明

duration

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

loop

是否循环播放

muted

是否静音

paused

是否暂停

currentTime

当前播放时间(单位:秒)

volume

音量值

networkState

返回当前网络状态

playbackRate

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

src

当前视频源的URL

ended

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

error

返回当前播放的错误状态

initialTime

返回初始播放的位置

mediaGroup

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

played

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

preload

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

readyState

返回当前的准备状态

seekable

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

audioTracks

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

autoplay

媒体加载后自动播放

buffered

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

controller

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

controls

显示播控控件

crossOrigin

CORS设置

currentSrc

返回当前媒体的URL

defaultMuted

缺省是否静音

defaultPlaybackRate

播控的缺省倍速

seeking

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

startOffsetTime

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

textTracks

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

videoTracks

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

HTML5新增video标签及对应属性、API详解的更多相关文章

  1. HTML5新增Canvas标签及对应属性、API详解(基础一)

    知识说明: HTML5新增的canvas标签,通过创建画布,在画布上创建任何想要的形状,下面将canvas的API以及属性做一个整理,并且附上时钟的示例,便于后期复习学习!Fighting! 一.标签 ...

  2. HTML5 Audio/Video 标签,属性,方法,事件汇总

    HTML5 Audio/Video 标签,属性,方法,事件汇总 (转) 2011-06-28 13:16:48   <audio> 标签属性:src:音乐的URLpreload:预加载au ...

  3. HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)

    HTML5 Audio/Video 标签,属性,方法,事件   <audio> 标签属性:src:音乐的URLpreload:预加载autoplay:自动播放loop:循环播放contro ...

  4. [转帖]HTML5 Audio/Video 标签,属性,方法,事件汇总

    HTML5 Audio/Video 标签,属性,方法,事件汇总 <audio>标签属性: src:音乐的URL preload:预加载 autoplay:自动播放 loop:循环播放 co ...

  5. 解决html5中video标签无法播放mp4问题的办法

    这篇文章主要给大家介绍了关于解决html5中video标签无法播放mp4问题的办法,文中介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 最近发现了一个 ...

  6. 在使用html5的video标签播放视频时为何只有声音却没有图像

    在使用html5的video标签播放视频时为何只有声音却没有图像? 答:使用格式化工厂转个编码就行了,MP4有3种编码,mpg4(xdiv),,mpg4(xvid),avc(h264)转换成H264编 ...

  7. html5的float属性超详解(display,position, float)(文本流)

    html5的float属性超详解(display,position, float)(文本流) 一.总结 1.文本流: 2.float和绝对定位都不占文本流的位置 3.普通流是默认定位方式,就是依次按照 ...

  8. jqGrid APi 详解

    jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...

  9. DOM API详解

    来源于:http://zxc0328.github.io/2016/01/23/learning-dom-part1/ https://zxc0328.github.io/2016/01/26/lea ...

随机推荐

  1. Couchbase学习记录

    Couchbase是membase的升级版,membase与memcache是同一家公司出的,Couchbase包含了memcache的功能. 从其官网上下载最新的版本安装即可.安装成功后会弹出设置页 ...

  2. Java 新手学习 CSS样式列表 排版 格式布局

    1,样式表分为  内联样式表   内嵌样式表  外部样式表  三种. 内联样式表是直接写在标签里面的  比如 <p style=“”></p>  <div style=& ...

  3. Windows7开通Internet信息服务

      我要开通Windows的Internet Information Service(也就是Internet信息服务,简称IIS),当本地服务器用,因为要在里面安装页面项目.    我参考了这篇文章的 ...

  4. [问题2015S06] 复旦高等代数 II(14级)每周一题(第七教学周)

    [问题2015S06]  设 \(V\) 是数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(\varphi\) 是 \(V\) 上的线性变换. (1) 求证: 对任一非零向量 ...

  5. hdu 4283 You Are the One 区间dp

    You Are the One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. <hr/> 水平线样式

    <hr style="width:490px;" /> <hr size=8 style="COLOR: #ffd306;border-style:ou ...

  7. 【java基础】方法2

    让形参可变的方法 jdk1.5之后,java允许定义形参长度可变的参数,允许为方法指定数量不确定的形参. package object; public class VariableParam { // ...

  8. Android 四大组件之一(Activity)

    Activty的生命周期的也就是它所在进程的生命周期. 一个Activity的启动顺序: onCreate()——>onStart()——>onResume() 当另一个Activity启 ...

  9. setColorFilter()滤镜

    ----------转载于:http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html 通过setColorFilter可以实现滤镜效果. 如:     ...

  10. Oracle新增客户端网络配置使用scott出现错误

    错误一   测试提示用户密码过期 解决方法:使用sys用户登录数据库 sqlplus sys/密码  as sysdba; 修改scott用户密码 alter user scott identifie ...