VideoTrackList
VideoTrackList 接口用于表示一个 <video> 元素中包含的视频轨道列表,列表中的每个轨道都由一个单独的 VideoTrack 对象表示。
通过 HTMLMediaElement.videoTracks 获取该对象的实例。可以通过数组语法或诸如 forEach() 等函数访问各个轨道。
实例属性
此接口还继承了其父接口 EventTarget 的属性。
length只读-
列表中轨道的数量。
selectedIndex只读-
当前选中轨道的索引(如果存在),否则为
−1。
实例方法
此接口还继承了其父接口 EventTarget 的方法。
getTrackById()-
返回
VideoTrackList中id与指定字符串匹配的VideoTrack。如果未找到匹配项,则返回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 |
浏览器兼容性
加载中…