html5视频常用API接口的实战示例


Posted in HTML / CSS onMarch 20, 2020

一、虽然有的属性是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接口的实战示例的文章就介绍到这了,更多相关html5视频API接口内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
修复iPhone的safari浏览器上submit按钮圆角bug
Dec 24 HTML / CSS
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
Jan 06 HTML / CSS
一款基于css3和jquery实现的动画显示弹出层按钮教程
Jan 04 HTML / CSS
CSS3 box-sizing属性详解
Nov 15 HTML / CSS
CSS3 实现飘动的云朵动画
Dec 01 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
Jul 10 HTML / CSS
Html5无刷新修改browser Url的方法
Jan 15 HTML / CSS
html5中的input新属性range使用记录
Sep 05 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
Jan 20 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
CSS3实现模糊背景的三种效果示例
Mar 30 HTML / CSS
css3中2D转换之有趣的transform形变效果
Feb 24 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
Mar 19 #HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
Mar 18 #HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 #HTML / CSS
canvas实现手机的手势解锁的步骤详细
Mar 16 #HTML / CSS
HTML利用九宫格原理进行网页布局
Mar 13 #HTML / CSS
html5默认气泡修改的代码详解
Mar 13 #HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
Mar 10 #HTML / CSS
You might like
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
在Python中使用HTML模版的教程
2015/04/29 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
详解python中sort排序使用
2019/03/23 Python
python求最大值最小值方法总结
2019/06/25 Python
python nmap实现端口扫描器教程
2020/05/28 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
详解Django配置JWT认证方式
2020/05/09 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
python实现扫雷游戏的示例
2020/10/20 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
2014高考励志标语
2014/06/05 职场文书
大学同学会活动方案
2014/08/20 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
学校通报表扬范文
2015/05/04 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
小学同学聚会感言
2015/07/30 职场文书
经典祝酒词大全
2015/08/12 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
Go gorilla/sessions库安装使用
2022/08/14 Golang