MediaStreamTrack

« WebRTC « MediaStream API

Draft
This page is not complete.

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.

Summary

The MediaStream interface represents a stream of media content. A stream consists of several tracks, like video or audio tracks.

Properties

MediaStreamTrack.enabled
Is a Boolean value with a value of true 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.
MediaStreamTrack.id Read only
Is a DOMString containing a unique identifier (GUID) for the track; it is generated by the browser.
MediaStreamTrack.kind Read only
Is a 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 deassociate from its source.
MediaStreamTrack.label Read only
Is a 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
Is a boolean value with a value of true if the track is muted, false otherwise.
MediaStreamTrack.readonly Read only
Is a boolean value with a value of 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
Is an enumerated value that gives the status of the track. It takes one of the following values:
  • "new" which is the original state and the track has not been connected to any source yet. In that state, the MediaStreamTrack.label will be the empty string. When a source is connected, the track state becomes "live" and an started is emitted.
  • "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 MediaStreamTrack.enabled attribute.
  • "ended"
MediaStreamTrack.remote Read only
Is a boolean value with a value of true if the track is sourced by a RTCPeerConnection, false otherwise.

Event handlers

MediaStreamTrack.onstarted
Is a EventHandler containing the action to perform when an started event is fired on the object, that is when a new MediaStreamTrack object is added.
MediaStreamTrack.onmute
Is a EventHandler containing the action to perform when an mute event is fired on the object, that is when the streaming is terminating.
MediaStreamTrack.onunmute
Is a EventHandler 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.onoverconstrained
Is a EventHandler 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.oneended
Is a EventHandler containing the action to perform when an ended event is fired on the object, that is when a  MediaStreamTrack object is removed from it.

Methods

MediaStreamTrack.appendConstraint()
Returns the track whose id corresponds to the one given in parameters, trackid. If no parameter is given, or if no track with that id does exists, it returns null. If several tracks have the same id, it returns the first one.
MediaStreamTrack.applyConstraints()
Stores a copy of the MediaStreamTrack given as argument. If the track has already been added to the MediaStream object, nothing happens; if the track is in the finished state, that is has already reached its end, the exception INVALID_STATE_RAISE is raised.
MediaStreamTrack.constraints()
Removes the MediaStreamTrack given as argument. If the track is not part of the MediaStream object, nothing happens; if the track is in the finished state, that is has already reached its end, the exception INVALID_STATE_RAISE is raised.
MediaStreamTrack.getConstraints()
Returns a list of the MediaStreamTrack stored in the MediaStream object that have their kind attribute set to "audio". The order is not defined, and may vary from one browser to an other, but also from one call to the method to another.
MediaStreamTrack.stop()
Returns a list of the MediaStreamTrack stored in the MediaStream object that have their kind attribute set to "video". The order is not defined, and may vary from one browser to an other, but also from one call to the method to another.

Examples

Specifications

Specification Status Comment
Media Capture and Streams Candidate Recommendation  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes) Not supported Not supported ?
getAudioTracks() and getVideoTracks() ? 23.0 (23.0) Not supported Not supported ?
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? (Yes) Not supported Not supported ?
getAudioTracks() and getVideoTracks() ? 23.0 (23.0) Not supported Not supported ?

See also

Document Tags and Contributors

Contributors to this page: Sheppy, teoli, ethertank, kscarfone, Jeremie, AbrahamT
Last updated by: AbrahamT,