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 ...
随机推荐
- android混合开发,webview的java与js互操作
android原生应用,用webview加载应用中的网页,并且java代码与js代码可以互相操作. 这是混合开发的基石,最基本也最重要的东西,实验代码在这里. 概括说说—— java调js:调用web ...
- PythonPP+lambda:示例
直接上代码. python PP 下载, 可以到官网下载 Python PP 下载 lambda 能做的, 基本上普通函数都可以做到. lambda 的主要作用是简化表达式, 并且似乎尤其适合于表达科 ...
- 十分钟学会mysql数据库操作
Part1:写在最前 MySQL安装的方式有三种: ①rpm包安装 ②二进制包安装 ③源码安装 这里我们推荐二进制包安装,无论从安装速度还是用于生产库安装环境来说,都是没问题的.现在生产库一般采用My ...
- mysql常用命令(3)
一.启动与关闭 1.1 Linux下启动mysql 的命令: a. rpm包安装:service mysqld start b. 源码包安装:/usr/local/mysql/bin/mysqld_s ...
- Web网页的了解内容
一.因特网(互联网) 1.发展阶段: A 实验科研阶段 B社会化应用启动阶段 C社会化应用阶段 2.基本特征:资源共享 二.万维网 1.全称全球信息网(World Wide web),简称Web 2. ...
- Testng使用方法示例
TestNG TestNG是一个测试框架,灵感来自JUnit和NUnit.但引入了下面这些新的功能,使它更强大和更容易使用. 注解: 可在任意大的线程池运行您的测试(所有方法在它们自己的线程内,一个线 ...
- 复旦大学2014--2015学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前几名 钱列(100).王华(92).李笑尘(92).金羽佳(91).李卓凡(91).包振航(91).董麒麟(90).张钧瑞(90).陆毕晨(90).刘杰(90).黄成晗(90). ...
- js的一些复习
JavaScript Js是一种直译式的脚本语言,是一种弱类型,基于对象的语言.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言 ...
- 。【自学总结 3】------3ds Max 主工具栏
1.选择并链接:选择对象,使其和其他对象建立父子关系. 2.断开选择链接:撤销链接关系. 3.选择过滤器列表:可以限制要选择的对象的特定类型和组合.例如,我们选择几何体后,其他对象就无法被选择. 4. ...
- python高性能代码之多线程优化
以常见的端口扫描器为实例 端口扫描器的原理很简单,操作socket来判断连接状态确定主机端口的开放情况. import socket def scan(port): s = socket.socket ...