详解Html5中video标签那些属性和方法


Posted in HTML / CSS onJuly 01, 2019

前言

最近在写一个自定义播放器, 写之前我们肯定要把播放器的属性和方法全部过一遍,知彼知己,方能百战不殆嘛...后面会把自己写的播放器和踩过的一些坑也上传上来

video标签行内属性

  • src:视频的URL
  • poster:视频封面,没有播放时显示的图片
  • preload:预加载
  • autoplay:自动播放
  • loop:循环播放
  • controls:浏览器自带的控制条
  • width:视频宽度
  • height:视频高度
  • webkit-playsinline="true" IOS下防止全屏播放
  • playsinline="true" 同上
  • x-webkit-airplay="true" 支持ios的AirPlay功能
  • x5-video-player-type="h5" 启用同层H5播放器
  • x5-video-player-fullscreen="true" 全屏设置
  • x5-video-orientation="portraint" 竖屏
  • style="object-fit:fill" 封面铺满
  • muted="true" 静音播放

应该还有一些...不过暂时没用到, 可以去查MDN文档

video对象的属性和方法

1.错误状态

$video.error; //null:正常  
   $video.error.code; //1.用户终止 2.网络错误 3.解码错误 4.URL无效

2.网络状态属性(有些比较常用)

$video.currentSrc; //返回当前资源的URL  
   $video.src = value; //返回或设置当前资源的URL  
   $video.canPlayType(type); //是否能播放某种格式的资源  
   $video.networkState; //0.此元素未初始化  1.正常但没有使用网络  2.正在下载数据  3.没有找到资源  
   $video.load(); //重新加载src指定的资源  
   $video.buffered; //返回已缓冲区域,$video.buffered.end(0)拿到最后一刻的数据
   $video.preload; //none:不预载 metadata:预载资源信息 auto:

3.准备状态

$video.readyState;    //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA  
   $video.seeking; //是否正在seeking

4.播放状态( 常用 )

$video.currentTime = value; //当前播放的位置,赋值可改变位置   
   $video.duration; //当前资源长度 流返回无限  
   $video.paused; //是否暂停  
   $video.defaultPlaybackRate = value;//默认的回放速度,可以设置  
   $video.playbackRate = value;//当前播放速度,设置后马上改变  
   $video.seekable; //返回可以seek的区域 
   $video.ended; //是否结束  
   $video.autoPlay;  //是否自动播放  
   $video.loop;  //是否循环播放  
   $video.play();    //播放  
   $video.pause();   //暂停

5.控制

$video.controls;//是否有默认控制条  
   $video.volume = value; //音量  
   $video.muted = value; //静音
video事件方法(常用的加*了)
loadstart   //客户端开始请求数据  
*progress    //客户端正在请求数据  
suspend     //延迟下载  
abort       //客户端主动终止下载(不是因为错误引起),  
*error      //请求数据时遇到错误  
stalled     //网速失速  
*play        //play()和autoplay开始播放时触发  
*pause      //pause()触发  
loadedmetadata  //成功获取资源长度  
*waiting    //等待数据,并非错误  
*playing     //开始回放  
canplay     //可以播放,但中途可能因为加载而暂停  
*canplaythrough //可以播放  
seeking     //资源寻找中  
seeked      //资源寻找完毕  
*timeupdate  //播放时间改变  
*ended       //播放结束  
ratechange  //播放速率改变  
durationchange  //资源长度改变  
*volumechange    //音量改变

基本上自定义播放器代码都是基于这个api和属性来写的, 以后方便自己查阅....

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3地图动态实例代码(圆圈向外扩散)
Jun 15 HTML / CSS
CSS3中的transform属性进行2D和3D变换的基本用法
May 12 HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
Jul 19 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
Jun 08 HTML / CSS
整理HTML5中表单的常用属性及新属性
Feb 19 HTML / CSS
浅谈html5增强的页面元素
Jun 14 HTML / CSS
HTML5+css3:3D旋转木马效果相册
Jan 03 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
Dec 28 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
Sep 15 HTML / CSS
CSS 实现多彩、智能的阴影效果
May 12 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 HTML / CSS
HTML5之多线程(Web Worker)
Jan 02 #HTML / CSS
浅谈pc和移动端的响应式的使用
Jan 03 #HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 #HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
Jan 14 #HTML / CSS
html Table 表头固定的实现
Jan 22 #HTML / CSS
Html5如何唤起百度地图App的方法
Jan 27 #HTML / CSS
canvas学习笔记之绘制简单路径
Jan 28 #HTML / CSS
You might like
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
详解Angular的8个主要构造块
2017/06/20 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Keras loss函数剖析
2020/07/06 Python
数控专业大学生的自我鉴定
2013/11/13 职场文书
浪费资源的建议书
2014/03/12 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
班级年度安全计划书
2014/05/01 职场文书
师德师风整改措施
2014/10/24 职场文书
学前班学生评语
2014/12/29 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers