The MediaStreamTrackinterface represents a single media track within a stream; typically, these are audio or video tracks, but other track types may exist as well.
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.contentHintMediaStreamTrack.enabledtrue if the track is enabled, that is allowed to render the media source stream; or false if 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. enabled to false. The muted property refers to a condition in which there's no media because of a technical issue.MediaStreamTrack.id Read only
DOMString containing a unique identifier (GUID) for the track; it is generated by the browser.MediaStreamTrack.isolated Read only
true if the track is isolated; that is, the track cannot be accessed by the document that owns the MediaStreamTrack. This happens when the peerIdentity property is set, or if the track comes from a cross-origin source.MediaStreamTrack.kind Read only
DOMString 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 deassociated from its source.MediaStreamTrack.label Read only
DOMString 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 deassociated from its source, the label is not changed.MediaStreamTrack.muted Read only
enabled to false, and unmute the media by setting it back to true again.MediaStreamTrack.readonly Read only
true if the track is readonly (such a video file source or a camera that settings can't be modified), false otherwise.MediaStreamTrack.readyState Read only
"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 the enabled attribute."ended" which indicates that the input is not giving any more data and will never provide new data.MediaStreamTrack.remote Read only
true if the track is sourced by a RTCPeerConnection, false otherwise.MediaStreamTrack.onstartedEventHandler containing the action to perform when an started event is fired on the object, that is when a new MediaStreamTrack object is added.MediaStreamTrack.onendedEventHandler containing the action to perform when an ended event is fired on the object, that is when a MediaStreamTrack object is removed from it.MediaStreamTrack.onisolationchangeisolationchange event is fired at the track object. This occurs whenever the value of the isolated property changes due to the document gaining or losing permission to access the track.MediaStreamTrack.onmuteEventHandler containing the action to perform when an mute event is fired on the object, that is when the streaming is terminating.MediaStreamTrack.onunmuteEventHandler containing the action to perform when an unmute event is fired on the object, that is when a MediaStreamTrack object is removed from it.MediaStreamTrack.onoverconstrainedEventHandler containing the action to perform when an overconstrained event is fired on the object, that is when a MediaStreamTrack object is removed from it.MediaStreamTrack.applyConstraints()MediaStreamTrack.MediaStreamTrack.clone()MediaStreamTrack.MediaStreamTrack.getCapabilities()MediaStreamTrack.MediaStreamTrack.getConstraints()MediaTrackConstraints object containing the currently set constraints for the track; the returned value matches the constraints last set using applyConstraints().MediaStreamTrack.getSettings()MediaTrackSettings object containing the current values of each of the MediaStreamTrack's constrainable properties.MediaStreamTrack.stop()ended.| Specification | Status | Comment |
|---|---|---|
| Media Capture and Streams The definition of 'MediaStreamTrack' in that specification. | Candidate Recommendation | Initial definition |
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'Isolated tracks' in that specification. | Candidate Recommendation | Additional properties for isolated track support |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | Yes | Yes | 22 | No | Yes | Yes |
applyConstraints
|
63 | 12 | 50 | ? | 46 | ? |
clone
|
45 | 12 | 48 | ? | 32 | ? |
contentHint |
60 | ? | ? | ? | 47 | ? |
enabled |
Yes | 12 | 24 | No | Yes | ? |
getCapabilities
|
66 | 12 | No | ? | 53 | ? |
getConstraints
|
53 | 12 | 50 | ? | Yes | ? |
getSettings
|
61 | 12 | 50 | ? | 48 | ? |
getSources
|
? — 56 | ? | No | ? | ? — 43 | ? |
id |
Yes | 12 | Yes | No | Yes | ? |
isolated |
? | ? | No | No | ? | ? |
kind |
Yes | 12 | Yes | No | Yes | ? |
label |
Yes | 12 | Yes | No | Yes | ? |
muted |
Yes | 12 | 59 | No | Yes | ? |
onended
|
Yes | 12 | 50 | No | Yes | ? |
onisolationchange |
? | ? | No | No | ? | ? |
onmute
|
Yes | 12 | 59 | No | Yes | ? |
onoverconstrained
|
Yes | 12 | Yes | No | Yes | ? |
onunmute
|
Yes | 12 | 59 | No | Yes | ? |
readonly
|
? | 12 | ? | ? | ? | ? |
readyState |
Yes | 12 | 50 | No | Yes | ? |
remote
|
48 — 59 | 12 | Yes | No | 35 — 46 | ? |
stop
|
61 | 12 | 34 | No | 45 | ? |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | Yes | Yes | Yes | 22 | Yes | ? | Yes |
applyConstraints
|
63 | 63 | ? | 50 | 46 | ? | 7.0 |
clone
|
45 | 45 | ? | ? | 32 | ? | 5.0 |
contentHint |
60 | 60 | ? | ? | 47 | ? | No |
enabled |
Yes | Yes | Yes | 24 | Yes | ? | Yes |
getCapabilities
|
66 | 66 | ? | No | 53 | ? | No |
getConstraints
|
53 | 52 | ? | 50 | Yes | No | 6.0 |
getSettings
|
61 | 61 | ? | 50 | 48 | 11 | No |
getSources
|
? — 56 | 56 | ? | ? | ? — 43 | ? | 6.0 |
id |
Yes | Yes | Yes | ? | Yes | ? | Yes |
isolated |
? | ? | ? | No | ? | ? | ? |
kind |
Yes | Yes | Yes | ? | Yes | ? | Yes |
label |
Yes | Yes | Yes | ? | Yes | ? | Yes |
muted |
Yes | Yes | Yes | 59 | ? | ? | Yes |
onended
|
Yes | Yes | ? | 50 | Yes | ? | Yes |
onisolationchange |
? | ? | ? | No | ? | ? | ? |
onmute
|
Yes | Yes | Yes | 59 | Yes | ? | Yes |
onoverconstrained
|
Yes | Yes | Yes | ? | ? | ? | Yes |
onunmute
|
Yes | Yes | Yes | 59 | Yes | ? | Yes |
readonly
|
? | ? | ? | ? | ? | ? | ? |
readyState |
Yes | Yes | Yes | 50 | ? | ? | Yes |
remote
|
48 — 59 | 48 — 59 | Yes | Yes | 35 — 46 | ? | 5.0 |
stop
|
61 | 61 | Yes | 34 | 45 | ? | No |
MediaStreamAudioStreamTrack and VideoStreamTrack
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack