The MediaStreamTrack interface represents a single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well.
On this page
MediaStreamTrack
Instance properties
In addition to the properties listed below, MediaStreamTrack has constrainable properties which can be set using applyConstraints() and accessed using getConstraints() and getSettings(). See Capabilities, constraints, and settings to learn how to correctly work with constrainable properties. Not doing so correctly will result in your code being unreliable.
-
MediaStreamTrack.contentHint -
A string that may be used by the web application to provide a hint as to what type of content the track contains to guide how it should be treated by API consumers.
-
MediaStreamTrack.enabled -
A Boolean whose value of
trueif the track is enabled, that is allowed to render the media source stream; orfalseif it is disabled, that is not rendering the media source stream but silence and blackness. If the track has been disconnected, this value can be changed but has no more effect.Note: You can implement standard "mute" functionality by setting
enabledtofalse. Themutedproperty refers to a condition in which there's no media because of a technical issue. MediaStreamTrack.idRead only-
Returns a string containing a unique identifier (GUID) for the track; it is generated by the browser.
MediaStreamTrack.kindRead only-
Returns a string set to
"audio"if the track is an audio track and to"video", if it is a video track. It doesn't change if the track is disassociated from its source. MediaStreamTrack.labelRead only-
Returns a string containing a user agent-assigned label that identifies the track source, as in
"internal microphone". The string may be left empty and is empty as long as no source has been connected. When the track is disassociated from its source, the label is not changed. MediaStreamTrack.mutedRead only-
Returns a Boolean value indicating whether the track is unable to provide media data due to a technical issue.
Note: You can implement standard "mute" functionality by setting
enabledtofalse, and unmute the media by setting it back totrueagain. MediaStreamTrack.readyStateRead only-
Returns an enumerated string giving the status of the track. This will be one of the following values:
"live"which indicates that an input is connected and does its best-effort in providing real-time data. In that case, the output of data can be switched on or off using theenabledattribute."ended"which indicates that the input is not giving any more data and will never provide new data.
Instance methods
-
MediaStreamTrack.applyConstraints() -
Lets the application specify the ideal and/or ranges of acceptable values for any number of the available constrainable properties of the
MediaStreamTrack. -
MediaStreamTrack.clone() -
Returns a duplicate of the
MediaStreamTrack. -
MediaStreamTrack.getCapabilities() -
Returns the a list of constrainable properties available for the
MediaStreamTrack. -
MediaStreamTrack.getConstraints() -
Returns a
MediaTrackConstraintsobject containing the currently set constraints for the track; the returned value matches the constraints last set usingapplyConstraints(). -
MediaStreamTrack.getSettings() -
Returns a
MediaTrackSettingsobject containing the current values of each of theMediaStreamTrack's constrainable properties. -
MediaStreamTrack.stop() -
Stops playing the source associated to the track, both the source and the track are disassociated. The track state is set to
ended.
Events
Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface:
-
ended -
Sent when playback of the track ends (when the value
readyStatechanges toended). -
mute -
Sent to the
MediaStreamTrackwhen the value of themutedproperty is changed totrue, indicating that the track is unable to provide data temporarily (such as when the network is experiencing a service malfunction). overconstrainedDeprecated Non-standard-
Sent when the constraints specified for the track cause the track to be incompatible and therefore to not be used.
-
unmute -
Sent to the track when data becomes available again, ending the
mutedstate.
Specifications
| Specification |
|---|
| Media Capture and Streams # mediastreamtrack |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
MediaStreamTrack |
26 | 12 | 22 | No | 15 | 11 | 4.4 | 26 | 22 | 14 | 11 | 1.5 |
applyConstraints |
59 | 12 | 43 | No | 46 | 11 | 59 | 59 | 43 | 43 | 11 | 7.0 |
capturehandlechange_event |
102 | 102 | No | No | 88 | No | No | No | No | No | No | No |
clone |
35 | 12 | 48 | No | 22 | 11 | 37 | 35 | 48 | 22 | 11 | 3.0 |
contentHint |
70 | 79 | No | No | 57 | 12.1 | 70 | 70 | No | 49 | 12.2 | 10.0 |
enabled |
26 | 12 | 24 | No | 15 | 11 | 4.4 | 26 | 24 | 14 | 11 | 1.5 |
ended_event |
26 | 12 | 50 | No | 15 | 11 | 4.4 | 26 | 50 | 14 | 11 | 1.5 |
getCapabilities |
59 | 12 | No | No | 46 | 11 | 59 | 59 | No | 43 | 11 | 7.0 |
getCaptureHandle |
102 | 102 | No | No | 88 | No | No | No | No | No | No | No |
getConstraints |
53 | 12 | 50 | No | 40 | 11 | 53 | 52 | 50 | 41 | 11 | 6.0 |
getSettings |
59 | 12 | 50 | No | 46 | 11 | 59 | 59 | 50 | 43 | 11 | 7.0 |
id |
26 | 12 | 22 | No | 15 | 11 | 4.4 | 26 | 22 | 14 | 11 | 1.5 |
kind |
26 | 12 | 22 | No | 15 | 11 | 4.4 | 26 | 22 | 14 | 11 | 1.5 |
label |
26 | 12 | 22 | No | 15 | 11 | 4.4 | 26 | 22 | 14 | 11 | 1.5 |
mute_event |
26 | 12 | 59 | No | 15 | 11 | 4.4 | 26 | 59 | 14 | 11 | 1.5 |
muted |
38 | 12 | 59 | No | 25 | 11 | 38 | 38 | 59 | 25 | 11 | 3.0 |
overconstrained_event |
No | 12–79 | No | No | No | 11 | No | No | No | No | 11 | No |
readyState |
26 | 12 | 50 | No | 15 | 11 | 4.4 | 26 | 50 | 14 | 11 | 1.5 |
stop |
32 | 12 | 34 | No | 19 | 11 | 4.4.3 | 32 | 34 | 19 | 11 | 2.0 |
unmute_event |
26 | 12 | 59 | No | 15 | 11 | 4.4 | 26 | 59 | 14 | 11 | 1.5 |
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack