语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("addtrack", (event) => { })
onaddtrack = (event) => { }
事件类型
一个 TrackEvent。继承自 Event。
事件属性
TrackEvent 基于 Event,因此 Event 的属性在 TrackEvent 对象上也是可用的。
track只读-
事件引用的 DOM 轨道对象。如果不是
null,则始终是以下媒体轨道类型之一的对象:AudioTrack、VideoTrack或TextTrack)。
描述
触发
每当媒体元素的音频轨道由 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 |
浏览器兼容性
加载中…
另见
- 相关事件:
removetrack、change - 此事件在
VideoTrackList上触发:addtrack - 此事件在
MediaStream上触发:addtrack - 媒体捕获和流 API
- WebRTC