VideoTrack
VideoTrack
接口表示来自 <video>
元素的单个视频轨道。
访问 VideoTrack
对象的最常见用途是切换其 selected
属性,以使其成为其 <video>
元素的活动视频轨道。
实例属性
selected
-
一个布尔值,控制视频轨道是否处于活动状态。在任何给定时间,只能有一个视频轨道处于活动状态,因此,如果将此属性设置为一个轨道的
true
,而另一个轨道处于活动状态,则会使另一个轨道变为非活动状态。 id
只读-
一个字符串,在媒体中唯一标识轨道。此 ID 可用于通过调用
VideoTrackList.getTrackById()
在视频轨道列表中找到特定轨道。如果媒体根据 媒体片段 URI 规范 支持按媒体片段进行查找,则 ID 也可以用作 URL 的片段部分。 kind
只读-
一个字符串,指定轨道所属的类别。例如,主视频轨道将具有
"main"
的kind
。 label
只读-
一个字符串,提供轨道的用户可读标签。例如,一个
kind
为"sign"
的轨道可能具有"手语解释"
的label
。如果没有提供标签,则此字符串为空。 language
只读-
一个字符串,指定视频轨道的首要语言,如果未知则为空字符串。语言以 BCP 47 (RFC 5646) 语言代码指定,例如
"en-US"
或"pt-BR"
。 sourceBuffer
只读-
创建轨道的
SourceBuffer
。如果轨道不是由SourceBuffer
创建的,或者SourceBuffer
已从其父媒体源的MediaSource.sourceBuffers
属性中删除,则返回 null。
使用说明
要获取给定媒体元素的 VideoTrack
,请使用元素的 videoTracks
属性,该属性返回一个 VideoTrackList
对象,您可以从中获取媒体中包含的各个轨道
const el = document.querySelector("video");
const tracks = el.videoTracks;
然后,您可以使用数组语法或 forEach()
等函数访问媒体的各个轨道。
此第一个示例获取媒体上的第一个视频轨道
const firstTrack = tracks[0];
下一个示例扫描媒体的所有视频轨道,激活用户首选语言(取自变量 userLanguage
)中的第一个视频轨道。
for (const track of tracks) {
if (track.language === userLanguage) {
track.selected = true;
break;
}
}
规范
规范 |
---|
HTML 标准 # videotrack |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。