构造函数
new Html5(optionsopt, readyopt)
创建此 Tech 的实例。
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
选项 | Object | <可选> | 播放器选项的键/值存储。 |
就绪 | function | <可选> | 当 |
- 混合特性
- 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元素。这可以在Component
的contentEl()
中或另一个自定义上下文中进行。
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
选择器 | 字符串 | 一个有效的CSS选择器,将传递给 | ||
上下文 | Element | | <可选> | this.contentEl() | 一个 DOM 元素,在其内部进行查询。也可以是选择器字符串,在这种情况下,第一个匹配的元素将用作上下文。如果缺失,则使用 |
找到的DOM元素,或null
- 类型:
- Element |
null
$$(selector, contextopt) → {NodeList}
查找匹配selector
的所有DOM元素。这可以在Component
的contentEl()
中或另一个自定义上下文中进行。
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
选择器 | 字符串 | 一个有效的CSS选择器,将传递给 | ||
上下文 | Element | | <可选> | this.contentEl() | 一个 DOM 元素,在其内部进行查询。也可以是选择器字符串,在这种情况下,第一个匹配的元素将用作上下文。如果缺失,则使用 |
找到的DOM元素列表
- 类型:
- NodeList
addChild(child, optionsopt, indexopt) → {Component}
在当前Component
中添加一个子Component
。
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
子项 | string | | 要添加的子项的名称或实例。 | ||
选项 | 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。
- 类型:
- 文本轨道
addWebVttScript_()
如果需要,使用 vtt.js 模拟 TextTrack
- Tech#event:vttjsloaded
- Tech#event:vttjserror
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.setInterval
或 Component#setInterval 创建的间隔。如果你通过 Component#setInterval 设置了间隔,请使用此函数而不是 window.clearInterval
。否则,你的销毁监听器将不会在 Component#dispose 之前被清理!
名称 | 类型 | 描述 |
---|---|---|
intervalId | 数字 | 要清除的间隔ID。Component#setInterval或 |
- 参见
返回已清除的间隔ID。
- 类型:
- 数字
clearTimeout(timeoutId) → {number}
清除通过 window.setTimeout
或 Component#setTimeout 创建的超时。如果你通过 Component#setTimeout 设置了超时,请使用此函数而不是 window.clearTimout
。否则,你的销毁监听器将不会在 Component#dispose 之前被清理!
名称 | 类型 | 描述 |
---|---|---|
timeoutId | 数字 | 要清除的超时ID。Component#setTimeout或 |
- 参见
返回已清除的超时ID。
- 类型:
- 数字
clearTracks(types)
根据其名称清除单个 TrackList
或 TrackLists
数组。
注意:没有源处理程序的技术应在视频和音频源之间调用此函数。你不想在轨道之间使用它们!
名称 | 类型 | 描述 |
---|---|---|
类型 | Array.<string> | | 要清除的 TrackList 名称,有效名称为 |
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 的选项。 属性
|
被创建的轨道元素。
- 类型:
- HTMLTrackElement
crossOrigin() → {string}
获取媒体元素的 crossOrigin
值。crossOrigin
指示浏览器应将 Cookie 与不同资产/播放列表的请求一起发送。
- 参见
- anonymous 表示媒体不应发送 Cookie。- use-credentials 表示媒体应将 Cookie 与请求一起发送。
- 类型:
- 字符串
currentDimension(widthOrHeight) → {number}
获取组件元素的计算宽度或高度。
使用window.getComputedStyle
。
名称 | 类型 | 描述 |
---|---|---|
宽度或高度 | 字符串 | 包含“width”或“height”的字符串。您想获取的任何一个。 |
请求的维度,如果该维度未设置,则为0。
- 类型:
- 数字
currentDimensions() → {Component~DimensionObject}
获取一个包含组件元素计算宽度和高度值的对象。
使用window.getComputedStyle
。
组件元素的计算维度。
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
指示媒体是否应默认静音。仅更改媒体的默认状态。muted
和 defaultMuted
可以有不同的值。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#width和Component#height的共享代码。
需要了解的事项
- 如果宽度或高度是数字,这将返回以“px”为后缀的数字。
- 如果宽度/高度是百分比,这将返回以“%”为后缀的百分比
- 隐藏元素的宽度通过
window.getComputedStyle
获取时为 0。此函数默认为Component
的style.width
,如果失败则回退到window.getComputedStyle
。有关更多信息,请参阅此链接。 - 如果您想要组件的计算样式,请使用Component#currentWidth和{Component#currentHeight
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
宽度或高度 | 字符串 | 8 'width' 或 'height' | |
数字 | number | | <可选> | 8 新维度 |
跳过监听器 | 布尔值 | <可选> | 跳过componentresize事件触发 |
获取时的维度,如果未设置则为0
- 类型:
- number |
undefined
dimensions(width, height)
同时设置Component
元素的宽度和高度。
名称 | 类型 | 描述 |
---|---|---|
宽度 | number | | 要设置 |
高度 | number | | 要设置 |
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()
此函数在触摸事件发生时报告用户活动。这可以被任何希望触摸事件以其他方式运行的子组件关闭。
当发生触摸事件时报告用户触摸活动。用户活动用于确定何时显示/隐藏控件。对于鼠标事件来说很简单,因为任何鼠标事件都应显示控件。因此,我们捕获冒泡到播放器的鼠标事件,并在发生时报告活动。对于触摸事件,它不像 touchstart
和 touchend
切换播放器控件那么简单。因此,触摸事件也无法在播放器级别帮助我们。
用户活动是异步检查的。因此可能发生的情况是,视频上的轻触事件关闭了控件。然后 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
。
名称 | 类型 | 描述 |
---|---|---|
名称 | 字符串 | 要获取的子 |
具有给定name
的子Component
或undefined。
- 类型:
- Component |
undefined
getChildById(id) → {Component|undefined}
返回具有给定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> | | <可重复> | 要获取的子 |
遵循给定后代names
的后代Component
或undefined。
- 类型:
- Component |
undefined
getIsAvailableToBeFocused(el) → {boolean}
确定此组件是否当前可见/启用/等...
名称 | 类型 | 描述 |
---|---|---|
元素 | HTMLElement | 代表组件的HTML元素。 |
如果组件当前可见且启用,则为true
。否则,为false
。
- 类型:
- 布尔值
getIsFocusable(el) → {boolean}
确定此组件是否可被视为可聚焦组件。
名称 | 类型 | 描述 |
---|---|---|
元素 | HTMLElement | 代表组件的HTML元素。 |
如果组件可以被聚焦,则为true
。否则,为false
。
- 类型:
- 布尔值
getPositions() → {Object}
检索组件元素的位置和大小信息。
一个包含 boundingClientRect
和 center
属性的对象。- boundingClientRect
: 一个包含 x
、y
、width
、height
、top
、right
、bottom
和 left
属性的对象,表示元素的边界矩形。- center
: 一个包含 x
和 y
属性的对象,表示元素的中心点。width
和 height
设置为 0。
- 类型:
- Object
getVideoPlaybackQuality() → {Object}
获取 W3C 媒体播放质量 API 指定的可用媒体播放质量指标。
- 参见
一个包含支持的媒体播放质量指标的对象
- 类型:
- Object
handleKeyDown(event)
当此Component接收到一个它不处理的keydown
事件时,它会将该事件传递给Player进行处理。
名称 | 类型 | 描述 |
---|---|---|
事件 | KeyboardEvent | 导致此函数被调用的 |
handleKeyPress(event)
许多组件曾有一个 handleKeyPress
方法,其命名不当,因为它监听的是 keydown
事件。此方法名现在委托给 handleKeyDown
。这意味着任何调用 handleKeyPress
的人不会看到他们的方法调用停止工作。
名称 | 类型 | 描述 |
---|---|---|
事件 | KeyboardEvent | 导致此函数被调用的事件。 |
(抽象) handleLanguagechange()
处理组件中播放器的语言变化。应由子组件覆盖。
handleLateInit_() → {undefined}
如果 loadstart
事件已触发,但在 video.js 准备好之前,这将触发。发生这种情况的两个已知示例如下:
- 如果我们在播放对象开始加载后才加载它
- 媒体已在播放(通常是自动播放),然后
此函数将触发另一个 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()
开启 VideoTrackList、AudioTrackList 和 TextTrackList 事件的监听器。
这将为 addtrack
和 removetrack
添加 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> | <可选> | 如果当前项有令牌替换,请在此处提供令牌。 |
默认值 | 字符串 | <可选> | 默认为 |
本地化字符串,或者如果不存在本地化,则为英文字符串。
- 类型:
- 字符串
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
事件上更新我们的内部持续时间。
名称 | 类型 | 描述 |
---|---|---|
事件 | 事件 | 导致此运行的 |
- Tech#event:durationchange
options(obj) → {Object}
使用新选项深度合并选项对象。
注意:当
obj
和options
都包含其值为对象的属性时。这两个属性将使用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)
将监听器绑定到组件的就绪状态。与事件监听器不同,如果就绪事件已经发生,它将立即触发函数。
名称 | 类型 | 描述 |
---|---|---|
函数 | 就绪回调 | 当 |
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 元素
remoteTextTracks() → {TextTrackList}
获取远程 TextTrackList 元素
- 类型:
- 文本轨道列表
removeAttribute(attribute)
从Component
的元素中移除属性。
名称 | 类型 | 描述 |
---|---|---|
属性 | 字符串 | 要移除的属性名称。 |
- 参见
removeChild(component)
从此Component
的子项列表中移除子Component
。同时从此Component
的元素中移除子Component
的元素。
名称 | 类型 | 描述 |
---|---|---|
组件 | 组件 | 要移除的子 |
removeClass(…classesToRemove)
从Component
的元素中移除CSS类名。
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
要移除的类 | 字符串 | <可重复> | 一个或多个要移除的CSS类名。 |
removeRemoteTextTrack(track)
从 TextTrackList
对象中移除远程 TextTrack
名称 | 类型 | 描述 |
---|---|---|
轨道 | 文本轨道 | 要移除的 |
removeSourceElement(srcUrl) → {boolean}
从媒体元素中移除一个源元素。
名称 | 类型 | 描述 |
---|---|---|
srcUrl | 字符串 | 要移除的源的 URL。 |
如果源元素成功移除,则返回 true,否则返回 false。
- 类型:
- 布尔值
requestAnimationFrame(fn) → {number}
将回调排队传递给requestAnimationFrame (rAF),但有一些额外的优点
通过回退到Component#setTimeout来支持不支持rAF的浏览器。
回调被转换为Component~GenericCallback(即绑定到组件)。
如果组件在调用之前被销毁,则会自动取消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
指示媒体应在页面准备就绪后立即开始播放。
名称 | 类型 | 描述 |
---|---|---|
自动播放 | 布尔值 |
|
- 参见
setControls(val)
为 HTML5 媒体元素设置 controls 属性。
名称 | 类型 | 描述 |
---|---|---|
值 | 字符串 | 要设置 controls 属性的值 |
setCrossOrigin(crossOrigin)
设置媒体元素的 crossOrigin
值。crossOrigin
指示浏览器应将 Cookie 与不同资产/播放列表的请求一起发送。
名称 | 类型 | 描述 |
---|---|---|
跨域 | 字符串 |
|
- 参见
setCurrentTime(seconds)
为 HTML5
技术(Tech)设置当前时间。
名称 | 类型 | 描述 |
---|---|---|
秒 | 数字 | 将媒体的当前时间设置为此值。 |
setDefaultMuted(defaultMuted)
在媒体元素上设置 defaultMuted
值。defaultMuted
指示当前音频级别应为静音,但只会影响初始播放时的静音级别。
名称 | 类型 | 描述 |
---|---|---|
默认静音 | 布尔值 |
|
- 参见
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
的包装。但仍有一些原因选择使用此函数。
- 当Component#dispose被调用时,它通过Component#clearInterval被清除。
- 函数回调将是Component~GenericCallback
名称 | 类型 | 描述 |
---|---|---|
函数 | Component~GenericCallback | 每 |
间隔 | 数字 | 每 |
- 参见
返回一个可用于标识间隔的ID。它也可以在Component#clearInterval中使用以清除间隔。
- 类型:
- 数字
setLoop(loop)
在媒体元素上设置 loop
值。loop
指示媒体在到达末尾时应返回媒体开头并继续播放。
名称 | 类型 | 描述 |
---|---|---|
循环 | 布尔值 |
|
- 参见
setMuted(muted)
在媒体元素上设置 muted
值。muted
指示当前音频级别应为静音。
名称 | 类型 | 描述 |
---|---|---|
静音 | 布尔值 |
|
- 参见
setPlaybackRate() → {number}
在媒体元素上设置 playbackRate
值。playbackRate
指示媒体的播放速率。示例:
- 如果 playbackRate 设置为 2,媒体将以两倍速度播放。
- 如果 playbackRate 设置为 0.5,媒体将以一半速度播放。
- 参见
媒体元素的 playbackRate
值。一个数字,指示媒体的当前播放速度,其中 1 为正常速度。
- 类型:
- 数字
setPlaysinline(playsinline)
设置媒体元素的 playsinline
值。playsinline
指示浏览器在全屏播放是原生默认行为时(例如在 iOS Safari 中),优先选择非全屏播放。
名称 | 类型 | 描述 |
---|---|---|
内联播放 | 布尔值 |
|
- 参见
setPoster(poster)
在媒体元素上设置 poster
值。poster
是一个图像文件的 URL,当没有媒体数据可用时可以/将显示。
名称 | 类型 | 描述 |
---|---|---|
海报 | 字符串 | 应作为媒体元素海报的图像 URL。 |
- 参见
setPreload(preload)
在媒体元素上设置 preload
值。preload
指示媒体在互动前应下载什么。它可以有以下值:
- none: 不下载任何内容
- metadata: 海报和媒体的前几帧可能会被下载,以获取媒体尺寸和其他元数据
- auto: 允许在互动前下载媒体和媒体的元数据
名称 | 类型 | 描述 |
---|---|---|
预加载 | 字符串 | 要在媒体元素上设置的 |
- 参见
setScrubbing(isScrubbing)
设置我们是否正在快进/倒退。这用于决定我们是否应使用 fastSeek
。fastSeek
用于在 Safari 浏览器上提供跳跃播放。
名称 | 类型 | 描述 |
---|---|---|
是否快进/倒退 | 布尔值 |
|
setSrc(src)
在媒体元素上设置 src
值。src
指示媒体的当前 Tech~SourceObject。
名称 | 类型 | 描述 |
---|---|---|
src | Tech~SourceObject | 要设置为当前源的源对象。 |
- 参见
setTimeout(fn, timeout) → {number}
创建一个在x
毫秒超时后运行的函数。此函数是window.setTimeout
的包装。但仍有一些原因选择使用此函数
- 当Component#dispose被调用时,它通过Component#clearTimeout被清除。
- 函数回调将被转换为Component~GenericCallback
注意:您不能对此函数返回的 ID 使用
window.clearTimeout
。这将导致其销毁监听器无法被清理!请改用 Component#clearTimeout 或 Component#dispose。
名称 | 类型 | 描述 |
---|---|---|
函数 | Component~GenericCallback | 将在 |
超时 | 数字 | 在执行指定函数之前延迟的毫秒数。 |
- 参见
返回一个超时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
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
src | Tech~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类名。
- 当Component#hasClass返回false时,添加
classToToggle
。 - 当Component#hasClass返回true时,移除
classToToggle
。
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
要切换的类 | 字符串 | 要添加或移除的类。传递给DOMTokenList的toggle() | |
谓词 | boolean | | <可选> | 一个布尔值或返回布尔值的函数。传递给DOMTokenList的toggle()。 |
trackCurrentTime()
设置一个间隔函数,用于跟踪当前时间并每 250 毫秒触发 timeupdate
。
- Tech#event:play
trackProgress(event)
这用于在缓冲百分比改变时触发 progress
事件。它设置一个间隔函数,该函数将每 500 毫秒调用一次,以检查缓冲结束百分比是否已改变。
此函数由 Tech#manualProgressOn 调用。
名称 | 类型 | 描述 |
---|---|---|
事件 | 事件 | 导致此运行的 |
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 加载时触发。