VideoTrack
VideoTrack 接口代表来自 <video> 元素的单个视频轨道。
访问 VideoTrack 对象最常见的用途是切换其 selected 属性,从而使其成为其 <video> 元素的活动视频轨道。
实例属性
selected-
一个布尔值,用于控制视频轨道是否处于活动状态。在任何给定时间只能有一个视频轨道处于活动状态,因此将一个轨道的此属性设置为
true,而另一个轨道处于活动状态时,将使该另一个轨道失效。 id只读-
一个字符串,唯一标识媒体中的轨道。此 ID 可用于通过调用
VideoTrackList.getTrackById()来定位视频轨道列表中的特定轨道。如果媒体支持按媒体片段进行查找(根据 Media Fragments URI 规范),则该 ID 也可以用作 URL 的片段部分。 kind只读-
一个字符串,指定轨道的所属类别。例如,主视频轨道的
kind为"main"。 label只读-
一个字符串,为轨道提供人类可读的标签。例如,
kind为"sign"的轨道可能有一个label为"A sign-language interpretation"。如果未提供标签,则此字符串为空。 language只读-
一个字符串,指定视频轨道的首选语言,如果未知则为空字符串。语言指定为 BCP 47 语言标记,例如
"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;
}
}
language 指定为有效的 BCP 47 语言标记,例如,美国英语为 "en-US"。
规范
| 规范 |
|---|
| HTML # videotrack |
浏览器兼容性
加载中…