AudioTrackList.getTrackById()

The AudioTrackList method getTrackById() returns the first AudioTrack object from the track list whose id matches the specified string. This lets you find a specified track if you know its ID string.

Syntax

var theTrack = AudioTrackList.getTrackById(id);

Paramters

id
A DOMString indicating the ID of the track to locate within the track list.

Return value

An AudioTrack object indicating the first track found within the AudioTrackList whose id matches the specified string. If no match is found, this method returns null.

The tracks are searched in their natural order; that is, in the order defined by the media resource itself, or, if the resource doesn't define an order, the relative order in which the tracks are declared by the media resource.

Example

This example suggests a hypothetical game in which movies are used as cut-scenes or other key set pieces within the game. Each movie has one audio track for each character, as well as one for the music, sound effects, and so forth. This function allows the game to disable a specific character's audio in order to adjust the movie's performance based on occurrences within the game; if the character's dialog isn't relevant, it gets left out. Obviously that would require some clever graphic design to make work, but... it's a hypothetical game.

function disableCharacter(videoElem, characterName) {
  videoElem.audioTracks.getTrackById(characterName).enabled = false;
}

This short function gets the AudioTrackList containing the video's audio tracks using HTMLMediaElement.audioTracks, then calls getTrackById() on it, specifying the character's name. The resulting track's audio is then disabled by setting its enabled flag to false.

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'AudioTrackList.getTrackById()' in that specification.
Living Standard  
HTML5
The definition of 'AudioTrackList.getTrackById()' in that specification.
Recommendation  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 45
Disabled
Full support 45
Disabled
Disabled From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support 12Firefox Full support 33
Disabled
Full support 33
Disabled
Disabled From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Full support 10Opera Full support 32
Disabled
Full support 32
Disabled
Disabled From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari Full support 6.1WebView Android Full support 45Chrome Android Full support 45
Disabled
Full support 45
Disabled
Disabled From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge Mobile Full support YesFirefox Android Full support 33
Disabled
Full support 33
Disabled
Disabled From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 32
Disabled
Full support 32
Disabled
Disabled From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS Full support 7.1Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
User must explicitly enable this feature.
User must explicitly enable this feature.

Document Tags and Contributors

Contributors to this page: sideshowbarker, Sheppy
Last updated by: sideshowbarker,