video标签

video属性
  • src:视频链接
  • poster:视频封面
  • preload:是否预加载
  • autoplay:自动播放
  • loop:循环播放
  • controls:浏览器自带的操作按钮
  • width:视频宽度
  • height:视频高度
  • playbackRate:设置或返回视频的当前播放速度
  <video id="media" src="./test.mp4" controls width="200px" heigt="400px"></video>  
  //audio和video都可以通过JS获取对象,JS通过id获取video和audio的对象
  
  Media = document.getElementById("media");
video视频结束之后回到初始状态
video.addEventListener('ended',function(){
    const videoSrc = video.currentSrc;

    video.src = '';
    video.src = videoSrc;   
},false);
视频占满屏的方式
    width:100%;
    height:100%;
    object-fit:cover;
  • object-fit
    • fil:被替换的内容大小可以填充元素的内容框,整个对象将完全填充此框,如果对象的宽高不匹配其框的宽高比,那么该对象将被拉伸以适应(会发生变形)
    • container:被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比,整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加黑边
    • cover:被替换的内容大小保持其宽高比,同时填充元素的整个内容框,如果对象的宽高比与盒子的宽高比不匹配,搞对象讲被裁剪以适应
    • none:被替换的内容尺寸不会被改变
    • scale-down:内容的尺寸像是制定了none或contain,取决于那一个将导致更小的对象尺寸
方法

HTMLVideoElement和HTMLAudioElement 均继承自HTMLMediaElement
Media.error;// null 正常
Media.error.code;//1、用户终止,2、网络错误,3、解码错误,4、URL无效

  • 网络状态
    • Media.currentSrc; // 返回当前资源的URL
    • Media.src=value; // 返回或设置当前资源的URL
    • Media.canPlayType(type); // 是都能播放某种格式的资源
    • Media.newworkState; // 0、此元素未初始化,1、正常但没有使用网络,2、正在下载数据,3、没有找到资源
    • Media.load();// 重新加载src指定的资源
    • Media.buffered; // 返回已缓冲区域,TimeRanges
    • Media.preload; // none:不于娟组,metadata:预载资源信息
  • 准备状态
    • Media.readyState;//1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA
    • Media.seeking; //是否正在seeking
  • 回放状态
    • Media.currentTime = value // 当前播放的位置,赋值可以改变位置
    • Media.startTime // 一般是0,如果为流媒体或者不从0开始的资源,则不为0
    • Media.duration // 当前资源长度,流返回无限
    • Media.paused // 是否暂停
    • Media.defaultPlayBackRate=value; // 默认的回放速度,可以设置
    • Media.playBackRate = value; // 当前播放速度,设置后马上改变
    • Media.played; // 返回已经播放的区域,TimeRanges
    • Media.seekable; //返回可以seek的区域 TimeRanges
    • Media.endad; // 是否结束
    • Media.autoPlay; //是否自动播放
    • Media.loop; // 是否循环播放
    • Media.play(); // 播放
    • Media.pause(); // 暂停
  • 视频控制
    • Media.controls; // 是否有默认控制条
    • Media.volume = value; // 音量
    • Media.muted = value; // 静音
  • TimeRanges(区域)对象
    • TimeRanges.length; // 区域段数
    • TimeRanges.start(index); // 第index段区域的开始位置
    • TimeRanges.end(index); // 第index段区域的结束位置
  • 相关事件
    • eventTester(“loadstart”); 客户端考试请求数据
    • eventRester(“progress”);客户端正在请求数据
    • eventRester(“suspend”);延迟下载
    • eventTester(“abort”); //客户端主动终止下载(不是因为错误引起)
    • eventTester(“loadstart”); //客户端开始请求数据
    • eventTester(“error”); //请求数据时遇到错误
    • eventTester(“stalled”); //网速失速
    • eventTester(“play”); //play()和autoplay开始播放时触发
    • eventTester(“pause”); //pause()触发
    • eventTester(“loadedmetadata”); //成功获取资源长度
    • eventTester(“loadeddata”); //
    • eventTester(“waiting”); //等待数据,并非错误
    • eventTester(“playing”); //开始回放
    • eventTester(“canplay”); //可以播放,但中途可能因为加载而暂停
    • eventTester(“canplaythrough”); //可以播放,歌曲全部加载完毕
    • eventTester(“seeking”); //寻找中
    • eventTester(“seeked”); //寻找完毕
    • eventTester(“timeupdate”); //播放时间改变
    • eventTester(“ended”); //播放结束
    • eventTester(“ratechange”); //播放速率改变
    • eventTester(“durationchange”); //资源长度改变
    • eventTester(“volumechange”); //音量改变

参考:https://www.runoob.com/jsref/dom-obj-video.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值