VideoTrackList
VideoTrackList
接口用于表示包含在 <video>
元素中的视频轨道的列表,每个轨道由列表中单独的 VideoTrack
对象表示。
使用 HTMLMediaElement.videoTracks
检索此对象的实例。可以使用数组语法或函数(例如 forEach()
)访问各个轨道。
实例属性
此接口还继承了其父接口 EventTarget
的属性。
length
只读-
列表中的轨道数。
selectedIndex
只读-
当前选定轨道的索引(如果有),否则为
−1
。
实例方法
此接口还继承了其父接口 EventTarget
的方法。
getTrackById()
-
返回在
VideoTrackList
中找到的VideoTrack
,其id
与指定的字符串匹配。如果未找到匹配项,则返回null
。
事件
addtrack
-
在将新的视频轨道添加到媒体元素时触发。也可通过
onaddtrack
属性访问。 change
-
当视频轨道被激活或停用时触发。也可通过
onchange
属性访问。 removetrack
-
在从媒体元素中删除新的视频轨道时触发。也可通过
onremovetrack
属性访问。
使用说明
除了能够直接访问媒体元素上存在的视频轨道外,VideoTrackList
还允许您在 addtrack
和 removetrack
事件上设置事件处理程序,以便您可以在轨道添加到或从媒体元素流中删除时检测到。
示例
获取媒体元素的视频轨道列表
要获取媒体元素的 VideoTrackList
,请使用其 videoTracks
属性。
js
const videoTracks = document.querySelector("video").videoTracks;
监视轨道计数更改
在此示例中,我们有一个应用程序,显示有关可用通道数量的信息。为了使其保持最新状态,已设置了 addtrack
和 removetrack
事件的处理程序。
js
videoTracks.onaddtrack = updateTrackCount;
videoTracks.onremovetrack = updateTrackCount;
function updateTrackCount(event) {
trackCount = videoTracks.length;
drawTrackCountIndicator(trackCount);
}
规范
规范 |
---|
HTML 标准 # audiotracklist-and-videotracklist-objects |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。