html5视频常用API接口
一、虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=”属性值”)格式,避免出现错误 (下面加粗的属性为常用属性)
|
属性 |
值 |
功能描述 |
|
controls |
controls |
是否显示播放控件 |
|
autoplay |
autoplay |
设置是否打开浏览器后自动播放 |
|
width |
Pilex(像素) |
设置播放器的宽度 |
|
height |
Pilex(像素) |
设置播放器的高度 |
|
loop |
loop |
设置视频是否循环播放(即播放完后继续重新播放) |
|
preload |
preload |
设置是否等加载完再播放 |
|
src |
url |
设置要播放视频的url地址 |
|
poster |
imgurl |
设置播放器初始默认显示图片 |
|
autobuffer |
autobuffer |
设置为浏览器缓冲方式,不设置autoply才有效 |
演示:
<video controls="controls" width="500px" height="500px" loop autoplay poster="imgUrl">
<source src="黑客之都.mp4" type="video/mp4"/>
<track src="a.vtt" label="中文" srclang="zh" kind="subtitles" default/>
</video>
二、.video标签API方法:Video标签也提供了比较人性化的API接口方法,供写JS时直接调用,方便简单
|
API |
事件说明 |
|
addTextTrack() |
向音频/视频添加新的文本轨道。 |
|
play |
video.play(); 播放视频 |
|
pause |
video.pause(); 暂停播放视频 |
|
load |
video.load(); 将全部属性回复默认值,视频恢复重新开始状态 |
|
canPlayType |
var support = videoid.canPlayType('video/mp4'); 判断浏览器是否支持当前类型的视频格式 返回值: 空字符串:不支持 Maybe:可能支持 Probably:完全支持 |
关于video标签的API接口在JS中用法如下:
<!DOCTYPE HTML>
<html>
<head>
<style>
video::cue{
background-color:transparent;
color:white;
font-size:20px;
line-height: 100px;
}
</style>
</head>
<body> <video controls="controls" id="video1">
<source src="黑客之都.Hackerville.S01E01.720P.mp4" type="video/mp4"/>
<track src="a.vtt" label="中文字幕" srclang="zh" kind="subtitles" default/>
</video>
<button onclick="isPlay(this)">播放</button>
<button onclick="replay()">重新播放</button>
<button onclick="isPlayType()">浏览器支持</button> <script>
var video1 = document.getElementById("video1"); //括号内为video标签的id
//播放视频(点击播放按钮,后变成暂停)
function isPlay(obj1){
if(video1.paused){ //paused属于视频api属性
obj1.innerHTML="暂停";
video1.play();
}else{
obj1.innerHTML="播放";
video1.pause();
}
} //重新从开头播放
function replay(){
video1.load();
} //判断要播放的视频格式当前浏览器是否支持
function isPlayType(){
var support = video1.canPlayType("video/mp4");
console.log(support); //返回结果:空字符串、maybe(可能支持)、probably(支持)
}
</script>
</body>
</html>
三、video标签API属性: Video不仅提供了API接口,还提供了许多的API属性,方便在JS中做判断,如下:大部分属性通过boolean值判断
|
API属性 |
事件说明 |
|
duration |
返回媒体的播放总时长,单位秒 |
|
loop |
是否循环播放 |
|
muted |
是否静音 |
|
paused |
是否暂停 |
|
currentTime |
当前播放时间(单位:秒) |
|
volume |
音量值(0~1) |
|
networkState |
返回当前网络状态 |
|
playbackRate |
播放的倍速(加速、减速播放)(-2~2) |
|
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对象) |
演示:
<script>
function setting(){
video1.muted=true; //设置静音
video1.volume=0.2; //设置音量,1等于100%
video1.playbackRate=2; //2倍播放速度
video1.controls=false; //不显示播控控件
}
</script>
四、音频/视频事件
| 事件 | 描述 |
| abort | 当音频/视频的加载已放弃时触发。 |
| canplay | 当浏览器可以开始播放音频/视频时触发。 |
| canplaythrough | 当浏览器可在不因缓冲而停顿的情况下进行播放时触发。 |
| durationchange | 当音频/视频的时长已更改时触发。 |
| emptied | 当目前的播放列表为空时触发。 |
| ended | 当目前的播放列表已结束时触发。 |
| error | 当在音频/视频加载期间发生错误时触发。 |
| loadeddata | 当浏览器已加载音频/视频的当前帧时触发。 |
| loadedmetadata | 当浏览器已加载音频/视频的元数据时触发。 |
| loadstart | 当浏览器开始查找音频/视频时触发。 |
| pause | 当音频/视频已暂停时触发。 |
| play | 当音频/视频已开始或不再暂停时触发。 |
| playing | 当音频/视频在因缓冲而暂停或停止后已就绪时触发。 |
| progress | 当浏览器正在下载音频/视频时触发。 |
| ratechange | 当音频/视频的播放速度已更改时触发。 |
| seeked | 当用户已移动/跳跃到音频/视频中的新位置时触发。 |
| seeking | 当用户开始移动/跳跃到音频/视频中的新位置时触发。 |
| stalled | 当浏览器尝试获取媒体数据,但数据不可用时触发。 |
| suspend | 当浏览器刻意不获取媒体数据时触发。 |
| timeupdate | 当目前的播放位置已更改时触发。 |
| volumechange | 当音量已更改时触发。 |
| waiting | 当视频由于需要缓冲下一帧而停止时触发。 |
html5视频常用API接口的更多相关文章
- 常用API接口汇总
下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...
- 常用API接口
引用 常用API接口汇总
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- 转载-常用API接口签名验证参考
原文地址: http://www.cnblogs.com/hnsongbiao/p/5478645.html 写的很好,就做个笔记了.感谢作者! 项目中常用的API接口签名验证方法: 1. 给app分 ...
- 常用API接口签名验证参考
项目中常用的API接口签名验证方法: 1. 给app分配对应的key.secret2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数名称将所有请求参数按照 ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- html5 canvas常用api总结(二)--绘图API
canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API. 绘画的时候canvas相当于画布,而 ...
- appium 基础:常用api接口(2)
一.获取手机分辨率 size=driver.get_window_size()#获取手机屏幕大小,分辨率 print(size)#{'width': 720, 'height': 1280} 得到的是 ...
- appium 基础二:常用api接口
一.获取手机分辨率 size=driver.get_window_size()#获取手机屏幕大小,分辨率 print(size)#{'width': 720, 'height': 1280} 得到的是 ...
随机推荐
- pt工具校验主从数据一致性之dsns方式
mysql主从数据一致性校验,常用的方法是Percona-Toolkit的组件pt-table-checksum,这东西怎么用网上一大堆,就不啰嗦了.主要说一下通过dsns方式发现从库的一种方式. p ...
- 脱离脚手架来配置、学习 webpack4.x (一)基础搭建项目
序 现在依旧记得第一次看到webpack3.x 版本配置时候的状态 刚开始看到这些真的是一脸懵.希望这篇文章能帮到刚开始入门的同学. webpack 是什么? webpack是一个模块化打包工具,w ...
- Docker中使用FlameGraph分析JVM应用性能
开源项目推荐 Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/ht ...
- 如何完美激活pycharm2019.2.2
本号持续关注pycharm的更新,这不本月11号迎来新版本,为防走丢,请关注公众号,让我们携手并行!有道是"予人玫瑰手留余香",分享的确是件令人愉快的事,这也是我创建公众号的初心. ...
- Small Spring系列一:BeanFactory(一)
人生如逆旅,我亦是行人. 前言 Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 准备 bean-v1.xml配置b ...
- struts2表单提单细节处理
1. 上传文件 大部分项目避免不了要上传文件. struts2提供了封闭的上传文件的入口, 网络上也存在大量的插件用于网页表单中上传文件. 由于自己习惯用SSH框架, 所以介绍一下struts2中文件 ...
- 41 (OC)* OC的理解与动态特性
1:动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading). 动态类型:即运行时再决定对象的类型.简单说就是id类型.id类型 ...
- SpringCloud学习笔记(7):使用Spring Cloud Config配置中心
简介 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,服务器端统一管理所有配置文件,客户端在启动时从服务端获取配置信息.服务器端有多种配置方式,如将配置文件 ...
- 基于Asp.Net Core MVC和AdminLTE的响应式管理后台之侧边栏处理
说明: .NET Core版本为:2.2 AdminLTE版本为:2.4.18 Bootstrap版本为:3.4.1 font-awesome版本为:4.7.0 1.新建项目:AdminLteDemo ...
- Docker下实战zabbix三部曲之一:极速体验
对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践: 环境信息 ...