AudioTrackList

可用性有限

此功能不是基线,因为它在某些最广泛使用的浏览器中无法正常工作。

AudioTrackList 接口用于表示给定 HTML 媒体元素中包含的音频轨道的列表,其中每个轨道在列表中由一个单独的 AudioTrack 对象表示。

使用 HTMLMediaElement.audioTracks 获取此对象的实例。可以使用数组语法访问各个轨道。

EventTarget AudioTrackList

实例属性

此接口还继承了其父接口 EventTarget 的属性。

length 只读

列表中的轨道数量。

实例方法

此接口还继承了其父接口 EventTarget 的方法。

getTrackById()

返回在 AudioTrackList 中找到的 AudioTrack,其 id 与指定的字符串匹配。如果未找到匹配项,则返回 null

事件

addtrack

当向媒体元素添加新的音频轨道时触发。

change

当轨道启用或禁用时触发。

removetrack

当从媒体元素中移除新的音频轨道时触发。

使用说明

除了能够直接访问媒体元素上存在的音频轨道外,AudioTrackList 还允许您在 addtrackremovetrack 事件上设置事件处理程序,以便您可以检测何时向媒体元素流中添加或从中移除轨道。有关详细信息和示例,请参阅 addtrackremovetrack 事件。

示例

获取媒体元素的音频轨道列表

要获取媒体元素的 AudioTrackList,请使用其 audioTracks 属性。

js
const audioTracks = document.querySelector("video").audioTracks;

监控轨道数量变化

在此示例中,我们有一个显示有关可用通道数量信息的应用程序。为了保持更新,设置了 addtrackremovetrack 事件的处理程序。

js
audioTracks.onaddtrack = updateTrackCount;
audioTracks.onremovetrack = updateTrackCount;

function updateTrackCount(event) {
  trackCount = audioTracks.length;
  drawTrackCountIndicator(trackCount);
}

规范

规范
HTML 标准
# audiotracklist-and-videotracklist-objects

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。