AudioTrackList: addtrack event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The addtrack
event is fired when a track is added to an AudioTrackList
.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("addtrack", (event) => { })
onaddtrack = (event) => { }
Event type
A TrackEvent
. Inherits from Event
.
Event properties
TrackEvent
is based on Event
, so properties of Event
are also available on TrackEvent
objects.
track
Read only-
The DOM track object the event is in reference to. If not
null
, this is always an object of one of the media track types:AudioTrack
,VideoTrack
, orTextTrack
).
Description
Trigger
The addtrack
event is called whenever a new track is added to the media
element whose audio tracks are represented by the AudioTrackList
object.
This happens when tracks are added to the element when the media is first attached to
the element; one addtrack
event will occur for each audio track in the
media resource.
This event is not cancelable and does not bubble.
Use cases
You can use this event to react to a new audio track becoming available. You may want to update your UI elements to allow for user selection of the new audio track, for example.
Examples
Using addEventListener()
:
const videoElement = document.querySelector("video");
videoElement.audioTracks.addEventListener("addtrack", (event) => {
console.log(`Audio track: ${event.track.label} added`);
});
Using the onaddtrack
event handler property:
const videoElement = document.querySelector("video");
videoElement.audioTracks.onaddtrack = (event) => {
console.log(`Audio track: ${event.track.label} added`);
};
Specifications
Specification |
---|
HTML Standard # event-media-addtrack |
HTML Standard # handler-tracklist-onaddtrack |
Browser compatibility
BCD tables only load in the browser
See also
- Related events:
removetrack
,change
- This event on
VideoTrackList
targets:addtrack
- This event on
MediaStream
targets:addtrack
- Media Capture and Streams API
- WebRTC