HTML5新增video标签及对应属性、API详解
知识说明:
比不上很牛的前端开发人员,但自始至终明白“万丈高楼平地起”,基础最重要,初学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详解的更多相关文章
- HTML5新增Canvas标签及对应属性、API详解(基础一)
知识说明: HTML5新增的canvas标签,通过创建画布,在画布上创建任何想要的形状,下面将canvas的API以及属性做一个整理,并且附上时钟的示例,便于后期复习学习!Fighting! 一.标签 ...
- HTML5 Audio/Video 标签,属性,方法,事件汇总
HTML5 Audio/Video 标签,属性,方法,事件汇总 (转) 2011-06-28 13:16:48 <audio> 标签属性:src:音乐的URLpreload:预加载au ...
- HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)
HTML5 Audio/Video 标签,属性,方法,事件 <audio> 标签属性:src:音乐的URLpreload:预加载autoplay:自动播放loop:循环播放contro ...
- [转帖]HTML5 Audio/Video 标签,属性,方法,事件汇总
HTML5 Audio/Video 标签,属性,方法,事件汇总 <audio>标签属性: src:音乐的URL preload:预加载 autoplay:自动播放 loop:循环播放 co ...
- 解决html5中video标签无法播放mp4问题的办法
这篇文章主要给大家介绍了关于解决html5中video标签无法播放mp4问题的办法,文中介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 最近发现了一个 ...
- 在使用html5的video标签播放视频时为何只有声音却没有图像
在使用html5的video标签播放视频时为何只有声音却没有图像? 答:使用格式化工厂转个编码就行了,MP4有3种编码,mpg4(xdiv),,mpg4(xvid),avc(h264)转换成H264编 ...
- html5的float属性超详解(display,position, float)(文本流)
html5的float属性超详解(display,position, float)(文本流) 一.总结 1.文本流: 2.float和绝对定位都不占文本流的位置 3.普通流是默认定位方式,就是依次按照 ...
- jqGrid APi 详解
jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...
- DOM API详解
来源于:http://zxc0328.github.io/2016/01/23/learning-dom-part1/ https://zxc0328.github.io/2016/01/26/lea ...
随机推荐
- Deferred解决JS同步问题
测试脚本: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- 使用Android studio 出现的问题解决
问题一.安装过程中出现的报错Failed to install Intel HAXM 解决:重启电脑,启动BIOS,我的是惠普的,开机时按F10就进去了 切换到Configuration选项,将设置I ...
- [课程设计]Scrum 多鱼点餐系统(团队交流日)
[课程设计]Scrum 多鱼点餐系统(团队交流日) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...
- C#获取文件时间
在NTFS下,文件的创建及修改时间可以精确到毫秒,以下是测试过程. DirectoryInfo diSource = new DirectoryInfo(@"C:\Users\不告诉你\De ...
- 流镜像(华为S9306和S5700)
流镜像是指将设备.端口或者VLAN内收.发的指定类型报文复制到观察端口上,监控设备只对指定类型报文进行监测. 流镜像有基于ACL和基于MQC(即复杂流分类)两种配置方式.前者配置简便,但是没有后者支持 ...
- HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 使用nodewebx进行前后端开发环境分离
下载nodewebx(windows环境) npm install nodewebx npm install inherits 为什么要下载inherits,因为nodewebx依赖它... 构建目录 ...
- openstack Icehouse发布
OpenStack 2014.1 (Icehouse) Release Notes General Upgrade Notes Windows packagers should use pbr 0.8 ...
- css+div打造三角形(箭头)
在很多网站都见过这样的箭头,之前我一直以为是图片,直到今天才知道原来可以用css做.开始看代码没太看懂,后来自己试了几遍才恍然大悟.贴出来分享下.(大神请直接忽略) 先看代码: HTML部分就是一个单 ...
- 6个html5页面适配iphone6的技巧
iphone6及iphone6plus已经出来一段时间了.很多移动端网站,以前写死body为320px的,现在估计也忙着做适配了. 大屏幕手机其实一直有,只是以前大家没怎么重视,移动端的H5页面大部分 ...