学习Video.js
查阅官方文档,学习video.js相关属性、回调与方法:
播放器选项设置
①标准的video标签属性
<video controls autoplay preload="auto" ...>
②data-setup属性传递JSON
<video data-setup='{"controls": true, "autoplay": false, "preload": "auto"}'...>
③创建播放器实例以第二个参数配置
videojs('my-player', {
controls: true,
autoplay: false,
preload: 'auto'
});
//修改选项
var player = videojs('my-player');
player.options({ enableSmoothSeeking: true });
// 设置看不到播放时间前面的负号
player.options({
controlBar: {
remainingTimeDisplay: {
displayNegative: false,
}
},
});
选项的学习
配置选项 | 含义 | 类型 |
autoplay | 自动播放 | boolean|string |
controlBar.remainingTimeDisplay.displayNegative | 默认情况下,剩余时间显示为负数时间 | boolean |
| 确定播放器是否具有可供用户交互的控件 | boolean |
height | 设置视频播放器的显示高度(以像素为单位) | string|number |
| 使视频在结束后立即重新开始 | boolean |
| 默认情况下将静音所有音频 | boolean |
| 视频开始播放前显示的图片的 URL。这通常是视频的一帧或自定义标题屏幕。用户点击“播放”后,图片就会消失 | string |
| 建议浏览器是否在元素 | string |
| 要嵌入的视频源的源 URL | string |
| 以像素为单位设置视频播放器的显示宽度 | string|number |
| 将播放器置于流体模式,并在计算播放器的动态尺寸时使用该值。该值应表示一个比率 - 两个数字用冒号分隔(例如 | string |
| 如果设置为 true,则会异步隐藏除控制栏之外的所有播放器组件,以及仅用于视频的任何特定控件 | boolean |
| 如果设置为 true,则通过隐藏视频元素并持续显示海报图像来启用海报查看器体验。 | boolean |
| 阻止播放器运行具有 | boolean |
| 与responsive选项一起使用时,设置断点,配置如何在播放器上切换类名,以根据播放器的尺寸调整 UI | Object |
| 如果 | boolean |
| 这是一种不同于以前可用的画中画模式,其中整个播放器元素都以窗口形式显示,而不仅仅是视频本身。由于有些情况下希望在播放器上使用画中画,但不希望仅在视频上使用画中画(例如广告、叠加层),因此此 | boolean |
| 如果设置为 | boolean |
| 当 时 | boolean |
|
|
|
| - |
|
| 如果提供,并且元素尚无 | string |
| 设置播放器的初始语言 | string |
| 允许玩家使用新的实时用户界,如果没有此选项,进度条将被隐藏,取而代之的是指示 |
|
| 播放器的 liveTracker 组件的一个选项,用于控制何时显示 liveui。默认情况下,如果流在 seekBar 上的显示时间少于 20 秒,那么即使设置了 liveui 选项,我们也不会显示新的 liveui。 |
|
| 播放器的 liveTracker 组件的一个选项,用于控制距离可搜索端多远的播放应被视为实时播放。默认情况下,距离实时可搜索边缘 15 秒以外的任何内容都被视为落后于实时,其余所有内容都被视为实时 |
|
| 将此选项设置为 | boolean |
| 一个对象数组,用于反映原生 | Array |
在video.js创建好的实例上,立即触发ready回调,可调用一下方法
var player = videojs('my-player');
player.ready(function() {
console.log('播放器已就绪')
// 获取音量
// var getVolume = player.volume();
// 设置音量
// player.volume(0.5) // 设置音量
// 设置静音
// 布尔值 boolean
// player.muted(true)
// 获取播放器状态是否处于全屏
// player.isFullscreen()
// 设置播放器全屏
// player.isFullscreen()
// 创建播放器立即进入全屏
// player.requestFullscreen()
// 退出全屏
// player.exitFullscreen()
// 在有设置url的情况下,调用此方法开始播放
// player.play()
// 暂停播放
// player.pause()
// 获取播放时间
// 设置开始播放音频时间是两分钟开始播放
// currentTime 以秒为单位
// player.currentTime(120)
// 获取播放总时间
// player.duration()
// 返回剩余秒数
// player.remainingTime()
// 准备在未来时间播放的当前时间范围
// player.buffered()
// 缓冲视频的当前百分比
// player.bufferedPercent()
});
方法 | 含义 | 参数 |
volume | 设置音量 | number |
muted | 设置静音 | boolean |
isFullscreen | 是否处于全屏 | - |
requestFullscreen | 立即进入全屏 | - |
exitFullscreen | 退出全屏 | - |
play | 播放 | - |
pause | 暂停播放 | - |
currentTime | 设置开始播放音频时间 | number/以秒为单位 |
duration | 获取播放总时间 | - |
remainingTime | 返回剩余秒数 | - |
buffered | 准备在未来时间播放的当前时间范围 | - |
bufferedPercent | 缓冲视频的当前百分比 | - |
播放完成的时候会触发ended回调
var player = videojs('my-player');
player.on('ended', () => {
player.dispose();
console.log('播放结束');
});
方法 | 含义 |
dispose | 销毁 |