HTML5 新元素之VIDEO标签的js操作

本文参考w3school的HTML DOM Video 对象

 

Video 对象属性

属性描述
audioTracks返回表示可用音频轨道的 AudioTrackList 对象。
autoplay设置或返回是否在就绪(加载完成)后随即播放视频。
buffered返回表示视频已缓冲部分的 TimeRanges 对象。
controller返回表示视频当前媒体控制器的 MediaController 对象。
controls设置或返回视频是否应该显示控件(比如播放/暂停等)。
crossOrigin设置或返回视频的 CORS 设置。
currentSrc返回当前视频的 URL。
currentTime设置或返回视频中的当前播放位置(以秒计)。
defaultMuted设置或返回视频默认是否静音。
defaultPlaybackRate设置或返回视频的默认播放速度。
duration返回视频的长度(以秒计)。
ended返回视频的播放是否已结束。
error返回表示视频错误状态的 MediaError 对象。
height设置或返回视频的 height 属性的值。
loop设置或返回视频是否应在结束时再次播放。
mediaGroup设置或返回视频所属媒介组合的名称。
muted设置或返回是否关闭声音。(true或false)
networkState返回视频的当前网络状态。
paused设置或返回视频是否暂停。
playbackRate设置或返回视频播放的速度。
played返回表示视频已播放部分的 TimeRanges 对象。
poster设置或返回视频的 poster 属性的值。
preload设置或返回视频的 preload 属性的值。
readyState返回视频当前的就绪状态。
seekable返回表示视频可寻址部分的 TimeRanges 对象。
seeking返回用户当前是否正在视频中进行查找。
src设置或返回视频的 src 属性的值。
startDate返回表示当前时间偏移的 Date 对象。
textTracks返回表示可用文本轨道的 TextTrackList 对象。
videoTracks返回表示可用视频轨道的 VideoTrackList 对象。
volume设置或返回视频的音量。(0-1之间)
width设置或返回视频的 width 属性的值。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Video 对象方法

 

 

方法描述
addTextTrack()向视频添加新的文本轨道。
canPlayType()检查浏览器是否能够播放指定的视频类型。
load()重新加载视频元素。
play()开始播放视频。
pause()暂停当前播放的视频。

 

 

 

 

 

 

 

 

Video 对象方法补充:

在video的方法中没有涉及到视频的全屏js方法;经过查询资料,发现这个需要调用一些基础的js API来实现全屏的切换,

启动全屏模式
全屏API requestFullscreen方法在一些老的浏览器里面依然使用带前缀形式的方法名,因此可能需要进行检测判断:
(带前缀,意思就是各个浏览器内核不通用.)

// 找到支持的方法, 使用需要全屏的 element 调用  
function launchFullScreen(element) {  
  if(element.requestFullscreen) {  
    element.requestFullscreen();  
  } else if(element.mozRequestFullScreen) {  
    element.mozRequestFullScreen();  
  } else if(element.webkitRequestFullscreen) {  
    element.webkitRequestFullscreen();  
  } else if(element.msRequestFullscreen) {  
    element.msRequestFullscreen();  
  }  
}  
  
  
// 在支持全屏的浏览器中启动全屏  
// 整个页面  
launchFullScreen(document.documentElement);  
// 某个元素  
launchFullScreen(document.getElementById("videoElement"));  

 

将需要全屏显示的DOM元素作为参数,调用此方法即可让window进入全屏状态,有时候可能需要用户同意(浏览器自己和用户交互),假若用户拒绝,则可能出现各种不完全的全屏.
如果用户同意进入全屏,那么工具栏以及其他浏览器组件会隐藏起来,使document框架的宽度和高度横跨整个屏幕.

退出全屏模式
使用 exitFullscreen 方法可以使浏览器退出全屏,返回原先的布局. 该方法在一些老的浏览器上也是支持前缀方法.

// 退出 fullscreen  
function exitFullscreen() {  
  if(document.exitFullscreen) {  
    document.exitFullscreen();  
  } else if(document.mozExitFullScreen) {  
    document.mozExitFullScreen();  
  } else if(document.webkitExitFullscreen) {  
    document.webkitExitFullscreen();  
  }  
}  
//请注意: exitFullscreen 只能通过 document 对象调用 —— 而不是使用普通的 DOM element.
  
// 调用退出全屏方法!  
exitFullscreen();  

Fullscreen 属性与事件
一个坏消息,到目前为止,全屏事件和方法依然是带前缀的,好消息就是很快主流浏览器就会都支持。

  • document.fullscreenElement:  当前处于全屏状态的元素 element.
  • document.fullscreenEnabled:  标记 fullscreen 当前是否可用.

当进入/退出 全屏模式时,会触发 fullscreenchange 事件:

var fullscreenElement =   
    document.fullscreenEnabled  
    || document.mozFullscreenElement  
    || document.webkitFullscreenElement;  
var fullscreenEnabled =   
    document.fullscreenEnabled  
    || document.mozFullscreenEnabled  
    || document.webkitFullscreenEnabled;  

 

另外,当元素处于全屏的时候,浏览器相应的会有一些全屏样式,如需修改,可以重写一下全屏的样式;

/* html */  
:-webkit-full-screen {  
  /* properties */  
}  
:-moz-fullscreen {  
  /* properties */  
}  
  
  
:fullscreen {  
  /* properties */  
}  
  
  
/* deeper elements */  
:-webkit-full-screen video {  
  width: 100%;  
  height: 100%;  
}  
  
  
/* styling the backdrop */  
::backdrop {  
  /* properties */  
}  

 

 

 

 

 

转载于:https://www.cnblogs.com/wwlhome/p/5855866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值