AudioTrackList: addtrack 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

当一个轨道被添加到 AudioTrackList 时,会触发 addtrack 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("addtrack", (event) => { })

onaddtrack = (event) => { }

事件类型

一个 TrackEvent。继承自 Event

Event TrackEvent

事件属性

TrackEvent 基于 Event,因此 Event 的属性在 TrackEvent 对象上也是可用的。

track 只读

事件引用的 DOM 轨道对象。如果不是 null,则始终是以下媒体轨道类型之一的对象:AudioTrackVideoTrackTextTrack)。

描述

触发

每当媒体元素的音频轨道由 AudioTrackList 对象表示时,如果向该媒体元素添加了新轨道,就会调用 addtrack 事件。当媒体首次附加到元素时,轨道被添加到元素中,就会发生这种情况;媒体资源中的每个音频轨道都会发生一个 addtrack 事件。

此事件不可取消,也不会冒泡。

用例

您可以使用此事件来响应新音频轨道的可用性。例如,您可能希望更新 UI 元素以允许用户选择新的音频轨道。

示例

使用 addEventListener()

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

videoElement.audioTracks.addEventListener("addtrack", (event) => {
  console.log(`Audio track: ${event.track.label} added`);
});

使用 onaddtrack 事件处理程序属性

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

videoElement.audioTracks.onaddtrack = (event) => {
  console.log(`Audio track: ${event.track.label} added`);
};

规范

规范
HTML
# event-media-addtrack
HTML
# handler-tracklist-onaddtrack

浏览器兼容性

另见