video.js 设置

您所在的位置:网站首页 videojs未定义 video.js 设置

video.js 设置

2023-08-17 09:59| 来源: 网络整理| 查看: 265



video.js 设置 目 录 得到 video.js 创建一个玩家 自动设置 手动设置 获取对玩家的引用 使用 VideoJS 使用 videojs.getPlayer() 使用 videojs.getPlayer()或 videojs.players 选项 全球默认值 A Note on Tag Attributes 玩家准备状态 高级玩家工作流程 Getting Video.js

video.js 通过 CDN 和 NPM 正式可用。

video.js 不仅可以使用 HTML 和 标记,还可以使用所有主要的 bundlers/packagers/builders,例如 Browserify、Node、Webpack 等。

请参阅[开始][开始]文档了解详细信息。

创建一个玩家

注意: video.js 适用于 和 元素,但为了简单起见,我们将只引用 元素。

一旦你有 video.js [加载到你的页面][开始],你就准备创造一个球员!

video.js 的核心优势在于,它装饰了一个标准 元素,并模拟了其相关的Events 和 API,同时提供了一个可定制的基于 DOM 的 UI。

video.js 支持 元素的所有属性(如 controls、preload 等),但也支持 它自己的选择。有两种方法可以创建一个 video.js 播放器并传递它的选项,但它们都是从一个标准的 元素开始的,该元素具有 class="video-js" 属性:

可以使用 元素,而不是 。在某些情况下,使用 元素是不可取的,因为浏览器可能会显示未样式的控件,或者在玩家初始化之前尝试加载源代码,而 自定义元素不会发生这种情况。

有关所有各种嵌入选项的高级概述,请查看 嵌入页面,然后关注本页的其余部分。

自动设置

默认情况下,当网页完成加载时, video.js 将扫描具有 data-setup 属性的媒体元素。data-setup 属性用于将选项传递给 video.js 。一个最小的例子是这样的:

注意:你必须使用 data-setup 的单引号,因为预计它将包含 JSON。

手动设置

在现代 Web 上,当页面完成加载时, 元素通常不存在。在这些情况下,自动设置是不可能的,但是可以通过thevideojs函数进行手动设置。

调用这个函数的一种方法是为它提供一个字符串,该字符串匹配 元素的 id 属性:

videojs('my-player');

但是,使用 id 属性并不总是实用的;因此,videojs函数接受 DOM 元素:

videojs(document.querySelector('.video-js')); 获取对玩家的引用

一旦玩家被创造出来, video.js 就会在内部保留跟踪。有几种方法可以获得对已有玩家的引用。

使用 videojs

使用已存在播放器的 ID of 元素调用 videojs() 将返回该播放器,而不会创建另一个。

如果没有玩家匹配该参数,它将尝试创建一个。

使用 videojs.getPlayer()

有时,你希望获得对某个玩家的引用,而不需要调用 videojs() 的潜在副作用。这可以通过调用 videojs.getPlayer() 来实现,该字符串可以匹配元素的 ID,也可以匹配元素本身。

使用 videojs.getPlayers() 或 videojs.players

videojs.players 属性公开了所有已知的参与者。方法 videojs.getPlayers() 只返回相同的对象。

玩家被存储在这个对象上,其密钥与其 ID 匹配。

注意:从一个没有 ID 的元素创建的播放器将被分配一个自动生成的 ID。

选项

注意:本指南仅介绍如何在玩家设置过程中传递选项。有关所有可用选项的完整引用,请参见 选项指南。

有三种方法可以将选项传递给 video.js 。因为 video.js 装饰 HTML5 元素,所以许多可用的选项也可以作为standardtag 属性:

或者,你可以使用 data-setup 属性将选项传递为JSON。这也是你如何设置 元素的非标准选项的方法:

注意:你必须在 data-setup 值周围使用单引号,因为它包含一个必须使用双引号的 JSON 字符串。

最后,如果你没有使用 data-setup 属性来触发播放机设置,那么你可以将播放机选项的对象作为 videojs函数的第二个参数传入:

videojs('my-player', { controls: true, autoplay: false, preload: 'auto' });

注意:不要同时使用 data-setup 和选项对象。

全球默认值

所有玩家的默认选项都可以在 videojs.options 找到,并且可以直接更改。例如,为所有未来的玩家设置 {autoplay: true}:

videojs.options.autoplay = true; 关于 标记属性的注记

许多属性都是所谓的[布尔属性][布尔-attrs]。这意味着它们要么开启,要么关闭。在这些情况下,属性应该没有值(或者应该以它的名字作为它的值)-它的存在意味着一个真值,而它的不存在意味着一个假值。

这些是不正确的:

注意:使用 controls="false" 的示例可能会使新开发人员感到困惑--它实际上会打开控件!

这些都是正确的:

玩家准备状态

video.js 由于技术人员具有异步加载的潜力,因此在安装后立即与播放器进行交互并不总是安全的。出于这个原因, video.js 玩家有一个“准备”的概念,这对于任何以前使用过 jQuery 的人来说都很熟悉。

从本质上讲,可以为 video.js 个玩家定义任意数量的准备好的回调。有三种方法可以通过这些回调。在每个示例中,我们将为播放器添加一个相同的类:

将回调传递到 videojs()函数作为第三个参数:

// Passing `null` for the options argument. videojs('my-player', null, function() { this.addClass('my-example'); });

将回调传递到玩家的 ready() 方法:

var player = videojs('my-player'); player.ready(function() { this.addClass('my-example'); });

收听玩家的 "ready" 事件:

var player = videojs('my-player'); player.on('ready', function() { this.addClass('my-example'); });

在每种情况下,回调都是异步调用的。

上述方法之间的一个重要区别是,必须在玩家准备好之前添加 ready 和 on() 的侦听器。使用 player.ready(),如果玩家已经准备好了,则立即调用函数。

高级玩家工作流程

有关更高级的玩家工作流程的讨论,请参见Player Workflows Guide。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3