Html5

HTML5 媒体控制器 - HTML5 媒体API的包装器

构造函数

new Html5(optionsopt, readyopt)

创建此 Tech 的实例。

参数
名称类型属性描述
选项Object<可选>

播放器选项的键/值存储。

就绪function<可选>

HTML5 Tech 准备就绪时要调用的回调函数。

混合特性
  • Tech~SourceHandlerAdditions

继承

成员

featuresFullscreenResize :boolean

布尔值,指示 HTML5 技术当前是否支持在进入全屏时自动调整媒体大小。

类型
  • 布尔值
默认值
  • true

featuresMuteControl :boolean

布尔值,指示 Tech 是否支持音量静音。

类型
  • 布尔值
默认值
  • true

featuresNativeTextTracks :boolean

布尔值,指示 Tech 是否支持原生 TextTrack。如果浏览器支持原生 TextTrack,这将有助于我们与它们集成。

类型
  • 布尔值

featuresPlaybackRate :boolean

布尔值,指示 Tech 是否支持改变视频播放速度。示例:

  • 将播放器设置为 2 倍(两倍)速播放
  • 将播放器设置为 0.5 倍(一半)速播放
类型
  • 布尔值

featuresProgressEvents :boolean

布尔值,指示 HTML5 技术当前是否支持 progress 事件。如果为 false,则将触发手动 progress 事件。

类型
  • 布尔值
默认值
  • true

featuresSourceset :boolean

布尔值,指示 Tech 是否支持 sourceset 事件。

一个技术(Tech)应将此设置为 true,然后在获取新源后,尽早使用 Tech#triggerSourceset 触发 Tech#event:sourceset

类型
  • 布尔值

featuresTimeupdateEvents

布尔值,指示 HTML5 技术当前是否支持 timeupdate 事件。如果为 false,则将触发手动 timeupdate 事件。

默认值
  • true

featuresVideoFrameCallback :boolean

HTML5 元素是否支持 requestVideoFrameCallback

类型
  • 布尔值

featuresVolumeControl :boolean

布尔值,指示 Tech 是否支持音量控制。

类型
  • 布尔值
默认值
  • true

movingMediaElementInDOM :boolean

布尔值,指示 HTML5 技术当前是否支持媒体元素在 DOM 中移动。如果在 iOS 中移动媒体元素会导致崩溃,因此在此处将其设置为 false。在其他地方,此值应为 true。

类型
  • 布尔值

(static) nativeSourceHandler

Html5 的原生源处理程序,仅将源传递给媒体元素。

属性
名称类型描述
Tech~SourceObject

源对象

技术Html5

HTML5 技术的实例。

方法

$(selector, contextopt) → {Element|null}

查找匹配selector的单个DOM元素。这可以在ComponentcontentEl()中或另一个自定义上下文中进行。

参数
名称类型属性默认描述
选择器字符串

一个有效的CSS选择器,将传递给querySelector

上下文Element | string<可选>
this.contentEl()

一个 DOM 元素,在其内部进行查询。也可以是选择器字符串,在这种情况下,第一个匹配的元素将用作上下文。如果缺失,则使用 this.contentEl()。如果 this.contentEl() 没有返回任何内容,则回退到 document

覆盖
返回

找到的DOM元素,或null

类型: 
Element | null

$$(selector, contextopt) → {NodeList}

查找匹配selector的所有DOM元素。这可以在ComponentcontentEl()中或另一个自定义上下文中进行。

参数
名称类型属性默认描述
选择器字符串

一个有效的CSS选择器,将传递给querySelectorAll

上下文Element | string<可选>
this.contentEl()

一个 DOM 元素,在其内部进行查询。也可以是选择器字符串,在这种情况下,第一个匹配的元素将用作上下文。如果缺失,则使用 this.contentEl()。如果 this.contentEl() 没有返回任何内容,则回退到 document

覆盖
返回

找到的DOM元素列表

类型: 
NodeList

addChild(child, optionsopt, indexopt) → {Component}

在当前Component中添加一个子Component

参数
名称类型属性默认描述
子项string | Component

要添加的子项的名称或实例。

选项Object<可选>
{}

将传递给子项的子项的选项的键/值存储。

索引数字<可选>
this.children_.length

尝试添加子项的索引。

返回

作为子项添加的Component。使用字符串时,Component将由该过程创建。

类型: 
组件

addClass(…classesToAdd)

Component的元素添加CSS类名。

参数
名称类型属性描述
要添加的类字符串<可重复>

一个或多个要添加的CSS类名。

addRemoteTextTrack(options, manualCleanupopt) → {HTMLTrackElement}

创建远程文本轨道对象并返回一个 HTML 轨道元素。

参数
名称类型属性默认描述
选项Object

该对象应包含 kind、language、label 和 src(WebVTT 文件位置)的值

手动清理布尔值<可选>

如果设置为 true,TextTrack 将在源更改后不会从 TextTrackList 和 HtmlTrackElementList 中移除。

返回

一个 HTML 轨道元素。它可以是模拟的 HTMLTrackElement 或原生的。

类型: 
HTMLTrackElement

addSourceElement(srcUrl, mimeTypeopt) → {boolean}

将一个源元素添加到媒体元素。

媒体元素
参数
名称类型属性描述
srcUrl字符串

视频源的 URL。

mimeType字符串<可选>

视频源的 MIME 类型。可选但推荐。

返回

如果源元素成功添加,则返回 true,否则返回 false。

类型: 
布尔值

addTextTrack(kind, labelopt, languageopt) → {TextTrack}

创建并返回一个远程 TextTrack 对象。

参数
名称类型属性描述
类型字符串

TextTrack 类型(字幕、说明文字、描述、章节或元数据)

标签字符串<可选>

用于标识文本轨道的标签

语言字符串<可选>

两位字母的语言缩写

返回

被创建的 TextTrack。

类型: 
文本轨道

addWebVttScript_()

如果需要,使用 vtt.js 模拟 TextTrack

触发

audioTracks() → {AudioTrackList}

返回
类型: 
音频轨道列表

autoplay() → {boolean}

获取媒体元素的 autoplay 值。autoplay 指示媒体应在页面准备就绪后立即开始播放。

参见
返回
  • 媒体元素的 autoplay 值。- True 表示媒体应在页面加载后立即开始播放。- False 表示媒体不应在页面加载后立即开始播放。
类型: 
布尔值

blur()

从此组件中移除焦点

覆盖

buffered() → {TimeRange}

获取媒体元素的 buffered 值。buffered 是一个 TimeRange 对象,表示媒体中已下载并可供播放的部分。

参见
返回

媒体元素的 buffered 值。

类型: 
TimeRange

bufferedPercent() → {number}

获取当前视频已缓冲的百分比。

返回

一个 0 到 1 之间的数字,表示视频缓冲的百分比(小数)。

类型: 
数字

(abstract) buildCSSClass() → {string}

构建默认的DOM类名。应由子组件覆盖。

返回

此对象的DOM类名。

类型: 
字符串

(abstract) canPlayType(_type) → {string}

检查技术是否支持给定的 MIME 类型。

基础技术不支持任何类型,但源处理程序可能会覆盖此功能。

参数
名称类型描述
_type字符串

要检查支持的 MIME 类型

参见
返回

'probably'、'maybe' 或空字符串

类型: 
字符串

cancelAnimationFrame(id) → {number}

取消传递给Component#requestAnimationFrame (rAF) 的排队回调。

如果你通过 Component#requestAnimationFrame 队列了一个 rAF 回调,请使用此函数而不是 window.cancelAnimationFrame。否则,你的销毁监听器将不会在 Component#dispose 之前被清理!

参数
名称类型描述
ID数字

要清除的rAF ID。Component#requestAnimationFrame的返回值。

参见
返回

返回已清除的rAF ID。

类型: 
数字

cancelNamedAnimationFrame(name)

如果存在,取消当前的命名动画帧。

参数
名称类型描述
名称字符串

要取消的requestAnimationFrame的名称。

cancelVideoFrameCallback(id)

原生或回退的 requestVideoFrameCallback

参数
名称类型描述
ID数字

要取消的请求ID

children() → {Array}

获取所有子组件的数组

返回

子项

类型: 
数组

cleanupAutoTextTracks()

移除通过 addRemoteTextTrack 添加的,并标记为自动垃圾回收的任何 TextTrack。

clearInterval(intervalId) → {number}

清除通过 window.setIntervalComponent#setInterval 创建的间隔。如果你通过 Component#setInterval 设置了间隔,请使用此函数而不是 window.clearInterval。否则,你的销毁监听器将不会在 Component#dispose 之前被清理!

参数
名称类型描述
intervalId数字

要清除的间隔ID。Component#setIntervalwindow.setInterval的返回值。

参见
返回

返回已清除的间隔ID。

类型: 
数字

clearTimeout(timeoutId) → {number}

清除通过 window.setTimeoutComponent#setTimeout 创建的超时。如果你通过 Component#setTimeout 设置了超时,请使用此函数而不是 window.clearTimout。否则,你的销毁监听器将不会在 Component#dispose 之前被清理!

参数
名称类型描述
timeoutId数字

要清除的超时ID。Component#setTimeoutwindow.setTimeout的返回值。

参见
返回

返回已清除的超时ID。

类型: 
数字

clearTracks(types)

根据其名称清除单个 TrackListTrackLists 数组。

注意:没有源处理程序的技术应在视频和音频源之间调用此函数。你不想在轨道之间使用它们!

参数
名称类型描述
类型Array.<string> | string

要清除的 TrackList 名称,有效名称为 videoaudiotext

contentEl() → {Element}

返回Component的DOM元素。子项将插入到此处。这通常与Component#el中返回的元素相同。

返回

Component的内容元素。

类型: 
元素

controls() → {boolean}

获取媒体元素的 controls 值。controls 指示是否应显示或隐藏原生媒体控件。

参见
返回
  • 媒体元素的 controls 值。- True 表示应显示原生控件。- False 表示应隐藏原生控件。
类型: 
布尔值

createEl() → {Element}

创建 Html5 技术(Tech)的 DOM 元素。

返回

创建的元素。

类型: 
元素

createRemoteTextTrack(options) → {HTMLTrackElement}

根据 featuresNativeTextTracks 的值,创建原生 TextTrack 或模拟的 TextTrack。

参数
名称类型描述
选项Object

该对象应包含用于初始化 TextTrack 的选项。

属性
名称类型属性描述
类型字符串<可选>

TextTrack 类型(字幕、说明文字、描述、章节或元数据)。

标签字符串<可选>

用于标识文本轨道的标签

语言字符串<可选>

两位字母的语言缩写。

默认布尔值<可选>

默认启用此轨道。

ID字符串<可选>

分配给此轨道的内部ID。

src字符串<可选>

轨道的源URL。

返回

被创建的轨道元素。

类型: 
HTMLTrackElement

crossOrigin() → {string}

获取媒体元素的 crossOrigin 值。crossOrigin 指示浏览器应将 Cookie 与不同资产/播放列表的请求一起发送。

参见
返回
  • anonymous 表示媒体不应发送 Cookie。- use-credentials 表示媒体应将 Cookie 与请求一起发送。
类型: 
字符串

currentDimension(widthOrHeight) → {number}

获取组件元素的计算宽度或高度。

使用window.getComputedStyle

参数
名称类型描述
宽度或高度字符串

包含“width”或“height”的字符串。您想获取的任何一个。

返回

请求的维度,如果该维度未设置,则为0。

类型: 
数字

currentDimensions() → {Component~DimensionObject}

获取一个包含组件元素计算宽度和高度值的对象。

使用window.getComputedStyle

返回

组件元素的计算维度。

类型: 
Component~DimensionObject

currentHeight() → {number}

获取组件元素的计算高度。

使用window.getComputedStyle

返回

组件元素的计算高度。

类型: 
数字

currentSrc() → {Tech~SourceObject}

获取 HTML5 Tech 上的当前源。如果失败,则回退到从 HTML5 媒体元素获取源。

返回

HTML5 技术(Tech)的当前源对象。如果失败,则回退到元素的源。

类型: 
Tech~SourceObject

currentTime() → {number}

获取媒体元素的 currentTime 值。currentTime 指示媒体在播放中的当前秒数。

参见
返回

媒体元素的 currentTime 值。

类型: 
数字

currentWidth() → {number}

获取组件元素的计算宽度。

使用window.getComputedStyle

返回

组件元素的计算宽度。

类型: 
数字

defaultMuted() → {boolean}

获取媒体元素的 defaultMuted 值。defaultMuted 指示媒体是否应默认静音。仅更改媒体的默认状态。muteddefaultMuted 可以有不同的值。Html5#muted 指示当前状态。

参见
返回
  • 媒体元素的 defaultMuted 值。- True 表示媒体应默认静音。- False 表示媒体不应默认静音。
类型: 
布尔值

defaultPlaybackRate() → {number}

获取媒体元素的 defaultPlaybackRate 值。defaultPlaybackRate 指示媒体当前的播放速率。此值在播放开始后将不再指示当前的 playbackRate,请使用 Html5#playbackRate 获取。

示例

  • 如果 defaultPlaybackRate 设置为 2,媒体将以两倍速度播放。
  • 如果 defaultPlaybackRate 设置为 0.5,媒体将以一半速度播放。
参见
返回

媒体元素的 defaultPlaybackRate 值。一个数字,指示媒体的当前播放速度,其中 1 为正常速度。

类型: 
数字

dimension(widthOrHeight, numopt, skipListenersopt) → {number|undefined}

获取或设置Component元素的宽度或高度。这是Component#widthComponent#height的共享代码。

需要了解的事项

  • 如果宽度或高度是数字,这将返回以“px”为后缀的数字。
  • 如果宽度/高度是百分比,这将返回以“%”为后缀的百分比
  • 隐藏元素的宽度通过 window.getComputedStyle 获取时为 0。此函数默认为 Componentstyle.width,如果失败则回退到 window.getComputedStyle。有关更多信息,请参阅此链接
  • 如果您想要组件的计算样式,请使用Component#currentWidth和{Component#currentHeight
参数
名称类型属性描述
宽度或高度字符串

8 'width' 或 'height'

数字number | string<可选>

8 新维度

跳过监听器布尔值<可选>

跳过componentresize事件触发

返回

获取时的维度,如果未设置则为0

类型: 
number | undefined

dimensions(width, height)

同时设置Component元素的宽度和高度。

参数
名称类型描述
宽度number | string

要设置Component元素的宽度。

高度number | string

要设置Component元素的高度。

disablePictureInPicture() → {boolean}

获取视频元素的 'disablePictureInPicture' 值。

参见
返回

值 - 视频元素的 disablePictureInPicture 值。- True 表示视频无法在画中画模式下播放。- False 表示视频可以在画中画模式下播放。

类型: 
布尔值

dispose()

销毁 HTML5 媒体元素并移除所有轨道。

duration() → {number}

获取 HTML5 媒体元素的当前持续时间。

返回

媒体的持续时间,如果没有持续时间则为 0。

类型: 
数字

el() → {Element}

获取Component的DOM元素

覆盖
返回

Component的DOM元素。

类型: 
元素

(protected) emitTapEvents()

检测到触摸事件支持时发出“tap”事件。这用于通过轻触视频来支持切换控件。它们之所以启用,是因为否则每个子组件都会有额外的开销。

监听事件
  • Component#event:touchstart
  • Component#event:touchmove
  • Component#event:touchleave
  • Component#event:touchcancel
  • Component#event:touchend

emulateTextTracks()

模拟文本轨道

enableTouchActivity()

此函数在触摸事件发生时报告用户活动。这可以被任何希望触摸事件以其他方式运行的子组件关闭。

当发生触摸事件时报告用户触摸活动。用户活动用于确定何时显示/隐藏控件。对于鼠标事件来说很简单,因为任何鼠标事件都应显示控件。因此,我们捕获冒泡到播放器的鼠标事件,并在发生时报告活动。对于触摸事件,它不像 touchstarttouchend 切换播放器控件那么简单。因此,触摸事件也无法在播放器级别帮助我们。

用户活动是异步检查的。因此可能发生的情况是,视频上的轻触事件关闭了控件。然后 touchend 事件冒泡到播放器。如果它报告了用户活动,就会立即重新打开控件。我们也不想完全阻止触摸事件冒泡。此外,touchmove 事件和除轻触之外的任何事件,都不应重新打开控件。

监听事件
  • Component#event:touchstart
  • Component#event:touchmove
  • Component#event:touchend
  • Component#event:touchcancel

ended() → {boolean}

获取媒体元素的 ended 值。ended 指示媒体是否已达到末尾。

参见
返回
  • 媒体元素的 ended 值。- True 表示媒体已结束。- False 表示媒体尚未结束。
类型: 
布尔值

enterFullScreen()

请求 HTML5 Tech 进入全屏。

error() → {MediaError|null}

获取媒体元素的 error 值。error 指示播放期间可能发生的任何 MediaError。如果 error 返回 null,则没有当前错误。

参见
返回

媒体元素的 error 值。如果存在当前错误,则为 MediaError,否则为 null。

类型: 
MediaError | null

exitFullScreen()

请求 HTML5 Tech 退出全屏。

focus()

将焦点设置到此组件

getAttribute(attribute) → {string|null}

获取Component元素上的属性值。

参数
名称类型描述
属性字符串

要获取其值的属性名称。

参见
返回
  • 请求的属性值。- 在某些浏览器中,如果属性不存在或没有值,则可能为空字符串 - 大多数浏览器在属性不存在或没有值时将返回null。
类型: 
string | null

getChild(name) → {Component|undefined}

返回具有给定name的子Component

参数
名称类型描述
名称字符串

要获取的子Component的名称。

返回

具有给定name的子Component或undefined。

类型: 
Component | undefined

getChildById(id) → {Component|undefined}

返回具有给定id的子Component

参数
名称类型描述
ID字符串

要获取的子Component的ID。

返回

具有给定id的子Component或undefined。

类型: 
Component | undefined

getDescendant(…names) → {Component|undefined}

返回遵循给定后代 names 的后代 Component。例如,['foo', 'bar', 'baz'] 将尝试获取当前组件上的 'foo','foo' 组件上的 'bar',以及 'bar' 组件上的 'baz',如果其中任何一个不存在则返回 undefined。

参数
名称类型属性描述
名称...Array.<string> | string<可重复>

要获取的子Component的名称。

返回

遵循给定后代names的后代Component或undefined。

类型: 
Component | undefined

getIsAvailableToBeFocused(el) → {boolean}

确定此组件是否当前可见/启用/等...

参数
名称类型描述
元素HTMLElement

代表组件的HTML元素。

返回

如果组件当前可见且启用,则为true。否则,为false

类型: 
布尔值

getIsFocusable(el) → {boolean}

确定此组件是否可被视为可聚焦组件。

参数
名称类型描述
元素HTMLElement

代表组件的HTML元素。

返回

如果组件可以被聚焦,则为true。否则,为false

类型: 
布尔值

getPositions() → {Object}

检索组件元素的位置和大小信息。

返回

一个包含 boundingClientRectcenter 属性的对象。- boundingClientRect: 一个包含 xywidthheighttoprightbottomleft 属性的对象,表示元素的边界矩形。- center: 一个包含 xy 属性的对象,表示元素的中心点。widthheight 设置为 0。

类型: 
Object

getVideoPlaybackQuality() → {Object}

获取 W3C 媒体播放质量 API 指定的可用媒体播放质量指标。

参见
返回

一个包含支持的媒体播放质量指标的对象

类型: 
Object

handleKeyDown(event)

当此Component接收到一个它不处理的keydown事件时,它会将该事件传递给Player进行处理。

参数
名称类型描述
事件KeyboardEvent

导致此函数被调用的keydown事件。

handleKeyPress(event)

许多组件曾有一个 handleKeyPress 方法,其命名不当,因为它监听的是 keydown 事件。此方法名现在委托给 handleKeyDown。这意味着任何调用 handleKeyPress 的人不会看到他们的方法调用停止工作。

参数
名称类型描述
事件KeyboardEvent

导致此函数被调用的事件。

(抽象) handleLanguagechange()

处理组件中播放器的语言变化。应由子组件覆盖。

handleLateInit_() → {undefined}

如果 loadstart 事件已触发,但在 video.js 准备好之前,这将触发。发生这种情况的两个已知示例如下:

  1. 如果我们在播放对象开始加载后才加载它
  2. 媒体已在播放(通常是自动播放),然后

此函数将触发另一个 loadstart,以便 video.js 可以跟上。

触发
  • Tech#event:loadstart
返回

不返回任何内容。

类型: 
undefined

hasClass(classToCheck) → {boolean}

检查组件元素是否具有CSS类名。

参数
名称类型描述
要检查的类字符串

要检查的CSS类名。

返回
  • 如果Component具有该类,则为True。- 如果Component不具有该类,则为False。
类型: 
布尔值

height() → {number}

获取 HTML5 媒体元素的当前高度。

返回

HTML5 媒体元素的高度。

类型: 
数字

hide()

如果Component的元素当前正在显示,则通过向其添加“vjs-hidden”类名来隐藏它。

覆盖

id() → {string}

获取此Component的ID

覆盖
返回

Component的ID

类型: 
字符串

initChildren()

根据选项添加和初始化默认子Component

initTrackListeners()

开启 VideoTrackListAudioTrackListTextTrackList 事件的监听器。

这将为 addtrackremovetrack 添加 EventTarget~EventListeners。

isDisposed() → {boolean}

确定此组件是否已销毁。

返回

如果组件已销毁,则为true。否则,为false

类型: 
布尔值

load()

媒体元素 load 函数的包装器。这将调用 HTML5 媒体元素的 load 函数。

参见

localize(string, tokensopt, defaultValueopt) → {string}

给定英文字符串,将字符串本地化。

如果提供了令牌,它将尝试对提供的字符串进行简单的令牌替换。它查找的令牌看起来像{1},其中索引是令牌数组中的1-indexed。

如果提供了 defaultValue,则在提供的语言文件中找不到值时,将使用该 defaultValue 而非 string。这对于您希望拥有一个描述性的键进行令牌替换,但又希望拥有一个简洁的本地化字符串且不需要包含 en.json 的情况很有用。

目前,它用于进度条计时。

{
  "progress bar timing: currentTime={1} duration={2}": "{1} of {2}"
}

然后像这样使用

this.localize('progress bar timing: currentTime={1} duration{2}',
              [this.player_.currentTime(), this.player_.duration()],
              '{1} of {2}');

输出类似:01:23 of 24:56

参数
名称类型属性描述
字符串字符串

要本地化的字符串和在语言文件中查找的键。

令牌Array.<string><可选>

如果当前项有令牌替换,请在此处提供令牌。

默认值字符串<可选>

默认为string。如果查找键需要单独,则可以作为令牌替换的默认值。

返回

本地化字符串,或者如果不存在本地化,则为英文字符串。

类型: 
字符串

loop() → {boolean}

获取媒体元素的 loop 值。loop 指示媒体在到达末尾时应返回媒体开头并继续播放。

参见
返回
  • 媒体元素的 loop 值。- True 表示媒体到达末尾后应跳转回开头并继续播放。- False 表示媒体到达末尾后不应循环播放。
类型: 
布尔值

manualProgressOff()

关闭在 Tech#manualProgressOn 中创建的 progress 事件的 polyfill。

manualProgressOn()

为不支持原生 progress 事件的浏览器实现 polyfill。

manualTimeUpdatesOff()

关闭在 Tech#manualTimeUpdatesOn 中创建的 timeupdate 事件的 polyfill。

manualTimeUpdatesOn()

为不支持 timeupdate 事件的浏览器实现 polyfill。

muted() → {boolean}

获取媒体元素的 muted 值。muted 指示媒体的音量应设置为静音。这实际上不会改变 volume 属性。

参见
返回
  • 如果 volume 值应被忽略且音频设置为静音则为 True。- 如果应使用 volume 值则为 False。
类型: 
布尔值

name() → {string}

获取Component的名称。该名称用于引用Component并在注册期间设置。

覆盖
返回

Component的名称。

类型: 
字符串

networkState() → {number}

获取媒体元素的 networkState 值。networkState 指示当前网络状态。它返回以下列表中的一个枚举:

  • 0: NETWORK_EMPTY
  • 1: NETWORK_IDLE
  • 2: NETWORK_LOADING
  • 3: NETWORK_NO_SOURCE
返回

媒体元素的 networkState 值。这将是描述中列表里的一个数字。

类型: 
数字

onDurationChange(event)

通过调用 Tech#duration 在 durationchange 事件上更新我们的内部持续时间。

参数
名称类型描述
事件事件

导致此运行的 durationchange 事件。

监听事件
  • Tech#event:durationchange

options(obj) → {Object}

使用新选项深度合并选项对象。

注意:当objoptions都包含其值为对象的属性时。这两个属性将使用module:obj.merge合并

参数
名称类型描述
对象Object

包含新选项的对象。

返回

this.options_obj合并后的新对象。

类型: 
Object

overrideNativeAudioTracks(override)

尝试强制覆盖原生音频轨道。

参数
名称类型描述
覆盖布尔值

如果设置为 true,原生音频将被覆盖,否则可能使用原生音频。

overrideNativeVideoTracks(override)

尝试强制覆盖原生视频轨道。

参数
名称类型描述
覆盖布尔值

如果设置为 true,原生视频将被覆盖,否则可能使用原生视频。

pause()

媒体元素 pause 函数的包装器。这将调用 HTML5 媒体元素的 pause 函数。

参见

paused() → {boolean}

获取媒体元素的 paused 值。paused 指示媒体元素当前是否暂停。

参见
返回

媒体元素的 paused 值。

类型: 
布尔值

play()

媒体元素 play 函数的包装器。这将调用 HTML5 媒体元素的 play 函数。

覆盖
参见

playbackRate() → {number}

获取媒体元素的 playbackRate 值。playbackRate 指示媒体当前的播放速率。示例:

  • 如果 playbackRate 设置为 2,媒体将以两倍速度播放。
  • 如果 playbackRate 设置为 0.5,媒体将以一半速度播放。
参见
返回

媒体元素的 playbackRate 值。一个数字,指示媒体的当前播放速度,其中 1 为正常速度。

类型: 
数字

played() → {TimeRange}

获取媒体元素的 played 值。played 返回一个 TimeRange 对象,表示媒体时间线中已播放的部分。

参见
返回

媒体元素的 played 值。一个 TimeRange 对象,指示已播放的时间范围。

类型: 
TimeRange

player() → {Player}

返回Component所附着的Player

返回

Component所附着的播放器。

类型: 
播放器

playsinline() → {boolean}

获取媒体元素的 playsinline 值。playsinline 指示浏览器在全屏播放是原生默认行为时(例如在 iOS Safari 中),优先选择非全屏播放。

参见
返回
  • 媒体元素的 playsinline 值。- True 表示媒体应内联播放。- False 表示媒体不应内联播放。
类型: 
布尔值

poster() → {string}

获取媒体元素的 poster 值。poster 指示当没有媒体数据可用时可以/将显示的图像文件 URL。

参见
返回

媒体元素的 poster 值。该值将是一个图像的 URL。

类型: 
字符串

preload() → {string}

获取媒体元素的 preload 值。preload 指示媒体在互动前应下载什么。它可以有以下值:

  • none: 不下载任何内容
  • metadata: 海报和媒体的前几帧可能会被下载,以获取媒体尺寸和其他元数据
  • auto: 允许在互动前下载媒体和媒体的元数据
参见
返回

媒体元素的 preload 值。将是 'none'、'metadata' 或 'auto'。

类型: 
字符串

ready(fn)

将监听器绑定到组件的就绪状态。与事件监听器不同,如果就绪事件已经发生,它将立即触发函数。

参数
名称类型描述
函数就绪回调

Component就绪时调用的函数。

readyState() → {number}

获取媒体元素的 readyState 值。readyState 指示媒体元素的当前状态。它返回以下列表中的一个枚举:

  • 0: HAVE_NOTHING
  • 1: HAVE_METADATA
  • 2: HAVE_CURRENT_DATA
  • 3: HAVE_FUTURE_DATA
  • 4: HAVE_ENOUGH_DATA
返回

媒体元素的 readyState 值。这将是描述中列表里的一个数字。

类型: 
数字

remoteTextTrackEls() → {HtmlTrackElementList}

获取远程 HtmlTrackElementList 元素

返回
类型: 
HtmlTrackElementList

remoteTextTracks() → {TextTrackList}

获取远程 TextTrackList 元素

返回
类型: 
文本轨道列表

removeAttribute(attribute)

Component的元素中移除属性。

参数
名称类型描述
属性字符串

要移除的属性名称。

参见

removeChild(component)

从此Component的子项列表中移除子Component。同时从此Component的元素中移除子Component的元素。

参数
名称类型描述
组件组件

要移除的子Component

removeClass(…classesToRemove)

Component的元素中移除CSS类名。

参数
名称类型属性描述
要移除的类字符串<可重复>

一个或多个要移除的CSS类名。

removeRemoteTextTrack(track)

TextTrackList 对象中移除远程 TextTrack

参数
名称类型描述
轨道文本轨道

要移除的 TextTrack 对象

removeSourceElement(srcUrl) → {boolean}

从媒体元素中移除一个源元素。

媒体元素
参数
名称类型描述
srcUrl字符串

要移除的源的 URL。

返回

如果源元素成功移除,则返回 true,否则返回 false。

类型: 
布尔值

requestAnimationFrame(fn) → {number}

将回调排队传递给requestAnimationFrame (rAF),但有一些额外的优点

参数
名称类型描述
函数Component~GenericCallback

一个函数,它将绑定到此组件并在浏览器下一次重绘之前执行。

参见
返回

返回一个rAF ID,用于标识超时。它也可以在Component#cancelAnimationFrame中使用以取消动画帧回调。

类型: 
数字

requestNamedAnimationFrame(name, fn)

请求一个动画帧,但只排队一个命名动画帧。在前面的动画帧完成之前,永远不会添加另一个。

参数
名称类型描述
名称字符串

此requestAnimationFrame的名称

函数Component~GenericCallback

一个函数,它将绑定到此组件并在浏览器下一次重绘之前执行。

requestPictureInPicture() → {Promise}

创建一个浮动视频窗口,始终置于其他窗口之上,以便用户在与设备上的其他内容网站或应用程序交互时,可以继续观看媒体。

参见
返回

一个带有画中画窗口的 Promise。

类型: 
Promise

requestVideoFrameCallback(cb) → {number}

如果浏览器/技术支持,则使用原生 requestVideoFrameCallback,否则回退。当 DRM 播放时,不要在 Safari 上使用 rVCF,因为它不会触发。这需要在构造函数之后检查。对于 Fairplay 源之后加载的清晰源,这会是一个误报。

参数
名称类型描述
回调function

要调用的函数

返回

请求ID

类型: 
数字

reset()

通过移除所有源然后调用 Html5.resetMediaElement 来重置技术(Tech)。

scrubbing() → {boolean}

获取是否正在快进/倒退。

返回

isScrubbing - true 表示当前正在快进/倒退 - false 表示不再快进/倒退

类型: 
布尔值

seekable() → {TimeRange}

获取媒体元素的 seekable 值。seekable 返回一个 TimeRange 对象,指示当前可跳转到的时间范围。

参见
返回

媒体元素的 seekable 值。一个 TimeRange 对象,指示当前可跳转到的时间范围。

类型: 
TimeRange

seeking() → {boolean}

获取媒体元素的 seeking 值。seeking 指示媒体当前是否正在跳转到新位置。

参见
返回
  • 媒体元素的 seeking 值。- True 表示媒体当前正在跳转到新位置。- False 表示媒体当前没有跳转到新位置。
类型: 
布尔值

setAttribute(attribute, value)

设置Component元素上的属性值

参数
名称类型描述
属性字符串

要设置的属性名称。

字符串

要将属性设置为的值。

参见

setAutoplay(autoplay)

在媒体元素上设置 autoplay 值。autoplay 指示媒体应在页面准备就绪后立即开始播放。

参数
名称类型描述
自动播放布尔值
  • True 表示媒体应在页面加载后立即开始播放。- False 表示媒体不应在页面加载后立即开始播放。
参见

setControls(val)

为 HTML5 媒体元素设置 controls 属性。

参数
名称类型描述
字符串

要设置 controls 属性的值

setCrossOrigin(crossOrigin)

设置媒体元素的 crossOrigin 值。crossOrigin 指示浏览器应将 Cookie 与不同资产/播放列表的请求一起发送。

参数
名称类型描述
跨域字符串
  • anonymous 表示媒体不应发送 Cookie。- use-credentials 表示媒体应将 Cookie 与请求一起发送。
参见

setCurrentTime(seconds)

HTML5 技术(Tech)设置当前时间。

参数
名称类型描述
数字

将媒体的当前时间设置为此值。

setDefaultMuted(defaultMuted)

在媒体元素上设置 defaultMuted 值。defaultMuted 指示当前音频级别应为静音,但只会影响初始播放时的静音级别。

参数
名称类型描述
默认静音布尔值
  • 如果音频应设置为静音则为 True - 否则为 False
参见

setDefaultPlaybackRate() → {number}

在媒体元素上设置 defaultPlaybackRate 值。defaultPlaybackRate 指示媒体在初始启动时的播放速率。视频开始播放后更改此值将无效。您应该改用 Html5#setPlaybackRate

示例值

  • 如果 playbackRate 设置为 2,媒体将以两倍速度播放。
  • 如果 playbackRate 设置为 0.5,媒体将以一半速度播放。
参见
返回

媒体元素的 defaultPlaybackRate 值。一个数字,指示媒体的当前播放速度,其中 1 为正常速度。

类型: 
数字

setDisablePictureInPicture(value)

防止浏览器建议画中画上下文菜单或在某些情况下自动请求画中画。

参数
名称类型描述
布尔值

true 值将禁用画中画模式。

参见

setIcon(iconName, elopt) → {Element}

向另一个元素或组件添加SVG图标元素。

参数
名称类型属性默认描述
图标名称字符串

图标的名称。所有图标名称的列表可以在“sandbox/svg-icons.html”中找到

元素元素<可选>
this.el()

要设置标题的元素。默认为当前组件的元素。

返回

新创建的图标元素。

类型: 
元素

setInterval(fn, interval) → {number}

创建一个每x毫秒运行一次的函数。此函数是window.setInterval的包装。但仍有一些原因选择使用此函数。

  1. Component#dispose被调用时,它通过Component#clearInterval被清除。
  2. 函数回调将是Component~GenericCallback
参数
名称类型描述
函数Component~GenericCallback

x秒运行的函数。

间隔数字

x毫秒执行指定的函数。

参见
返回

返回一个可用于标识间隔的ID。它也可以在Component#clearInterval中使用以清除间隔。

类型: 
数字

setLoop(loop)

在媒体元素上设置 loop 值。loop 指示媒体在到达末尾时应返回媒体开头并继续播放。

参数
名称类型描述
循环布尔值
  • True 表示媒体到达末尾后应跳转回开头并继续播放。- False 表示媒体到达末尾后不应循环播放。
参见

setMuted(muted)

在媒体元素上设置 muted 值。muted 指示当前音频级别应为静音。

参数
名称类型描述
静音布尔值
  • 如果音频应设置为静音则为 True - 否则为 False
参见

setPlaybackRate() → {number}

在媒体元素上设置 playbackRate 值。playbackRate 指示媒体的播放速率。示例:

  • 如果 playbackRate 设置为 2,媒体将以两倍速度播放。
  • 如果 playbackRate 设置为 0.5,媒体将以一半速度播放。
参见
返回

媒体元素的 playbackRate 值。一个数字,指示媒体的当前播放速度,其中 1 为正常速度。

类型: 
数字

setPlaysinline(playsinline)

设置媒体元素的 playsinline 值。playsinline 指示浏览器在全屏播放是原生默认行为时(例如在 iOS Safari 中),优先选择非全屏播放。

参数
名称类型描述
内联播放布尔值
  • True 表示媒体应内联播放。- False 表示媒体不应内联播放。
参见

setPoster(poster)

在媒体元素上设置 poster 值。poster 是一个图像文件的 URL,当没有媒体数据可用时可以/将显示。

参数
名称类型描述
海报字符串

应作为媒体元素海报的图像 URL。

参见

setPreload(preload)

在媒体元素上设置 preload 值。preload 指示媒体在互动前应下载什么。它可以有以下值:

  • none: 不下载任何内容
  • metadata: 海报和媒体的前几帧可能会被下载,以获取媒体尺寸和其他元数据
  • auto: 允许在互动前下载媒体和媒体的元数据
参数
名称类型描述
预加载字符串

要在媒体元素上设置的 preload 值。必须是 'none'、'metadata' 或 'auto'。

参见

setScrubbing(isScrubbing)

设置我们是否正在快进/倒退。这用于决定我们是否应使用 fastSeekfastSeek 用于在 Safari 浏览器上提供跳跃播放。

参数
名称类型描述
是否快进/倒退布尔值
  • true 表示当前正在快进/倒退 - false 表示不再快进/倒退

setSrc(src)

在媒体元素上设置 src 值。src 指示媒体的当前 Tech~SourceObject。

参数
名称类型描述
srcTech~SourceObject

要设置为当前源的源对象。

参见

setTimeout(fn, timeout) → {number}

创建一个在x毫秒超时后运行的函数。此函数是window.setTimeout的包装。但仍有一些原因选择使用此函数

  1. Component#dispose被调用时,它通过Component#clearTimeout被清除。
  2. 函数回调将被转换为Component~GenericCallback

注意:您不能对此函数返回的 ID 使用 window.clearTimeout。这将导致其销毁监听器无法被清理!请改用 Component#clearTimeoutComponent#dispose

参数
名称类型描述
函数Component~GenericCallback

将在timeout后运行的函数。

超时数字

在执行指定函数之前延迟的毫秒数。

参见
返回

返回一个超时ID,用于标识超时。它也可以在Component#clearTimeout中使用以清除已设置的超时。

类型: 
数字

setVolume(percentAsDecimal)

在媒体元素上设置 volume 值。volume 指示当前音频级别,以小数百分比形式表示。这意味着 1 为 100%,0.5 为 50%,依此类推。

参数
名称类型描述
小数百分比数字

音量百分比(小数形式)。有效范围为 0-1。

参见

setupSourcesetHandling_()

修改媒体元素,以便我们可以检测到源何时更改。在源更改后立即触发 sourceset

show()

如果Component的元素被隐藏,则通过从其移除“vjs-hidden”类名来显示它。

覆盖

src(srcopt) → {Tech~SourceObject|undefined}

Html5 技术(Tech)源对象的 getter/setter。

注意:请使用 Html5#setSource

参数
名称类型属性描述
srcTech~SourceObject<可选>

您希望在 HTML5 技术(Tech)元素上设置的源对象。

已废弃
  • 从版本 5 开始。
返回
  • 未传入源时的当前源对象。- 设置时为 undefined。
类型: 
Tech~SourceObject | undefined

stopTrackingCurrentTime()

停止在 Tech#trackCurrentTime 中创建的间隔函数,以便不再触发 timeupdate 事件。

监听事件
  • {Tech#event:pause}

stopTrackingProgress()

关闭在 Tech#manualProgressOn 中创建的 progress 事件的 polyfill。通过清除在 Tech#trackProgress 中设置的间隔来停止手动跟踪 progress 事件。

supportsFullScreen() → {boolean}

检查视频元素是否支持全屏。

返回
  • 如果支持全屏则为 True。- 如果不支持全屏则为 False。
类型: 
布尔值

textTracks() → {TextTrackList}

返回
类型: 
文本轨道列表

toggleClass(classToToggle, predicateopt)

向组件的元素添加或移除CSS类名。

参数
名称类型属性描述
要切换的类字符串

要添加或移除的类。传递给DOMTokenList的toggle()

谓词boolean | Dom.PredicateCallback<可选>

一个布尔值或返回布尔值的函数。传递给DOMTokenList的toggle()。

trackCurrentTime()

设置一个间隔函数,用于跟踪当前时间并每 250 毫秒触发 timeupdate

监听事件
  • Tech#event:play

trackProgress(event)

这用于在缓冲百分比改变时触发 progress 事件。它设置一个间隔函数,该函数将每 500 毫秒调用一次,以检查缓冲结束百分比是否已改变。

此函数由 Tech#manualProgressOn 调用。

参数
名称类型描述
事件事件

导致此运行的 ready 事件。

监听事件

triggerReady()

触发此Component的所有就绪监听器。

triggerSourceset(src)

一个特殊函数,以允许播放器在播放器或技术尚未准备好时重新触发的方式触发源设置。

参数
名称类型描述
src字符串

源更改时的源字符串。

videoHeight() → {number}

获取视频元素的 videoHeight 值。videoHeight 指示视频的当前高度(以 CSS 像素为单位)。

返回

视频元素的 videoHeight 值。这将是一个以 CSS 像素表示的数字。

类型: 
数字

videoTracks() → {VideoTrackList}

返回
类型: 
视频轨道列表

videoWidth() → {number}

获取视频元素的 videoWidth 值。videoWidth 指示视频的当前宽度(以 CSS 像素为单位)。

返回

视频元素的 videoWidth 值。这将是一个以 CSS 像素表示的数字。

类型: 
数字

volume() → {number}

获取媒体元素的 volume 值。volume 指示媒体的当前音频播放音量。volume 的值范围为 0(静音)到 1(最大和默认)。

参见
返回

媒体元素的 volume 值。该值将在 0-1 之间。

类型: 
数字

width() → {number}

获取 HTML5 媒体元素的当前宽度。

返回

HTML5 媒体元素的宽度。

类型: 
数字

(static) canControlPlaybackRate() → {boolean}

检查此浏览器/设备中是否可以更改播放速率。

返回
  • 如果可以控制播放速率则为 True - 否则为 False
类型: 
布尔值

(static) canControlVolume() → {boolean}

检查此浏览器/设备中是否可以更改音量。许多移动设备无法更改音量。具体来说,在 iOS 上无法将音量从 1 更改。

返回
  • 如果可以控制音量则为 True - 否则为 False
类型: 
布尔值

(static) canMuteVolume() → {boolean}

检查此浏览器/设备中是否可以静音。某些设备(例如 iOS)不允许更改音量,但允许静音/取消静音。

返回
  • 如果可以静音则为 True
    • 否则为 False
类型: 
布尔值

(static) canOverrideAttributes() → {boolean}

检查我们是否可以使用 Object.defineProperty 覆盖视频/音频元素的属性。

返回
  • 如果可以覆盖内置属性则为 True - 否则为 False
类型: 
布尔值

(static) canPlaySource(srcObj, options) → {string}

检查技术是否支持给定源

参数
名称类型描述
源对象Object

源对象

选项Object

传递给技术的选项

返回

'probably'、'maybe' 或 ''(空字符串)

类型: 
字符串

(static) canPlayType(type) → {string}

检查技术是否支持给定类型

参数
名称类型描述
类型字符串

要检查的 MIME 类型

返回

'probably'、'maybe' 或 ''(空字符串)

类型: 
字符串

(static) isSupported() → {boolean}

检查此浏览器/设备是否支持 HTML5 媒体。

返回
  • 如果支持 HTML5 媒体则为 True。- 如果不支持 HTML5 媒体则为 False。
类型: 
布尔值

(static) supportsNativeAudioTracks() → {boolean}

检查此浏览器/设备是否支持原生 AudioTrack

返回
  • 如果支持原生 AudioTrack 则为 True。- 否则为 False
类型: 
布尔值

(static) supportsNativeTextTracks() → {boolean}

检查此浏览器/设备是否支持原生 TextTrack

返回
  • 如果支持原生 TextTrack 则为 True。- 否则为 False
类型: 
布尔值

(static) supportsNativeVideoTracks() → {boolean}

检查此浏览器/设备是否支持原生 VideoTrack

返回
  • 如果支持原生 VideoTrack 则为 True。- 否则为 False
类型: 
布尔值

事件

音频轨道更改

当 Tech AudioTrackList 上添加或移除轨道时触发。

类型

组件大小调整

当组件大小调整时触发。

类型

销毁

Component被销毁时触发。

类型
属性
名称类型属性默认描述
冒泡布尔值<可选>

设置为false,以便销毁事件不冒泡

进度

参见 Player#progress

类型

就绪

Component就绪时触发。

类型

源设置

当在技术上设置源导致媒体元素重新加载时触发。

类型

轻触

Component被轻触时触发。

类型
  • 鼠标事件

文本轨道更改

当 Tech TextTrackList 上添加或移除轨道时触发。

类型

时间更新

触发 timeupdate 事件,因为我们已完成查找且时间已更改。这在播放器暂停以同步时间显示时特别有用。

类型

视频轨道更改

当 Tech 上的音轨被添加或移除时触发 VideoTrackList

类型

vttjs加载完成

当 vtt.js 加载时触发。

类型