欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

video标签

程序员文章站 2022-04-13 17:35:18
...

video属性

  • src:视频链接
  • poster:视频封面
  • preload:是否预加载
  • autoplay:自动播放
  • loop:循环播放
  • controls:浏览器自带的操作按钮
  • width:视频宽度
  • height:视频高度
  <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”); //音量改变
相关标签: H5 H5