当前位置: 首页 > article >正文

学习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

controls

确定播放器是否具有可供用户交互的控件

boolean

height

设置视频播放器的显示高度(以像素为单位)

string|number

loop

使视频在结束后立即重新开始

boolean

muted

默认情况下将静音所有音频

boolean

poster

视频开始播放前显示的图片的 URL。这通常是视频的一帧或自定义标题屏幕。用户点击“播放”后,图片就会消失

string

preload

建议浏览器是否在元素<video>加载后立即开始下载视频数据

string

src

要嵌入的视频源的源 URL

string

width

以像素为单位设置视频播放器的显示宽度

string|number

aspectRatio

将播放器置于流体模式,并在计算播放器的动态尺寸时使用该值。该值应表示一个比率 - 两个数字用冒号分隔(例如"16:9""4:3"

string

audioOnlyMode

如果设置为 true,则会异步隐藏除控制栏之外的所有播放器组件,以及仅用于视频的任何特定控件

boolean

audioPosterMode

如果设置为 true,则通过隐藏视频元素并持续显示海报图像来启用海报查看器体验。

boolean

autoSetup

阻止播放器运行具有data-setup属性的媒体元素的自动设置

boolean

breakpoints

与responsive选项一起使用时,设置断点,配置如何在播放器上切换类名,以根据播放器的尺寸调整 UI

Object

disablePictureInPicture

如果true,则禁用将视频元素切换为画中画

boolean

enableDocumentPictureInPicture

这是一种不同于以前可用的画中画模式,其中整个播放器元素都以窗口形式显示,而不仅仅是视频本身。由于有些情况下希望在播放器上使用画中画,但不希望仅在视频上使用画中画(例如广告、叠加层),因此此disablePictureInPicture选项禁用视频上的旧式画中画模式

boolean

enableSmoothSeeking

如果设置为true,将在移动和桌面设备上提供更流畅的搜索体验。

boolean

fluid

当 时true,Video.js 播放器将具有可变大小

boolean

fullscreen

fullscreen.options可以设置为传入特定的全屏选项

Object 

options

-

Object 

id

如果提供,并且元素尚无id,则该值将用作id播放器元素的

string

language

设置播放器的初始语言

string

liveui

允许玩家使用新的实时用户界,如果没有此选项,进度条将被隐藏,取而代之的是指示LIVE播放的文本

boolean 

liveTracker.trackingThreshold

播放器的 liveTracker 组件的一个选项,用于控制何时显示 liveui。默认情况下,如果流在 seekBar 上的显示时间少于 20 秒,那么即使设置了 liveui 选项,我们也不会显示新的 liveui。

number 

liveTracker.liveTolerance

播放器的 liveTracker 组件的一个选项,用于控制距离可搜索端多远的播放应被视为实时播放。默认情况下,距离实时可搜索边缘 15 秒以外的任何内容都被视为落后于实时,其余所有内容都被视为实时

number 

responsive

将此选项设置为true将导致播放器根据响应断点进行自定义

boolean

sources

一个对象数组,用于反映原生<video>元素具有一系列子元素的能力。这应该是具有和属性的<source>对象数组

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

销毁

请点这里项目实践


http://www.kler.cn/a/468805.html

相关文章:

  • 点击主图,触发的是查看产品详情的逻辑
  • 《数据结构》期末考试测试题【中】
  • S7-200采集频率信号
  • 用户界面的UML建模10
  • Flutter 实现 列表滑动过程控件停靠效果 学习
  • conan从sourceforge.net下载软件失败
  • 第四十三天|动态规划|子序列| 300.最长递增子序列 ,674. 最长连续递增序列,718. 最长重复子数组
  • DeepSeek-V3 正式发布,已在网页端和 API 全面上线,性能领先,速度飞跃。
  • 【第二部分--Python之基础】05 类与对象
  • 详细讲一下Canvas标签的基础使用和应用场景
  • 集成方案:基于慧集通的某客户多系统间集成简略方案(致远OA、NCC高级版、三方物业系统、发票税务系统等)
  • 模拟出一个三维表面生成表面点,计算体积,并处理边界点
  • 系统架构师考试-CBSE基于构件的软件工程
  • 前端开发语言涉及到 的注解(Annotations)
  • vue3 vite 使用 代理转发
  • 阿赵的MaxScript学习笔记分享十六《MaxScript和WinForm交互》
  • 【Python系列】Python 中的 `enumerate` 函数及其应用
  • 基于区块链的共享算力系统概念方案
  • Django Admin 以管理 AWS Lambda 函数
  • 深度信念网络 (Deep Belief Network, DBN) 算法详解与PyTorch实现
  • 性能测试04|JMeter:连接数据库、逻辑控制器、定时器
  • Linux中操作中的无痕命令history技巧
  • Sonic:开源Go语言开发的高性能博客平台
  • 第五届神经网络、信息与通信工程国际学术会议(NNICE 2025)
  • Java与AI:构建智能应用的强大组合
  • git使用指南-实践-搭建git私服