Properties:
| Name | Type | Description |
|---|---|---|
id |
Track.ID | This Track's ID |
isStarted |
boolean | Whether or not the Track has started |
isEnabled |
boolean | Whether or not the Track is enabled (i.e., whether it is paused or muted) |
kind |
string | The kind of the underlying MediaStreamTrack; e.g. "audio" or "video" |
mediaStreamTrack |
MediaStreamTrack | The underlying MediaStreamTrack |
Fires:
Methods
-
attach(selector)
-
Attach the Track to an HTMLMediaElement selected by
document.querySelector.If the HTMLMediaElement's
srcObjectis not set to a MediaStream, this method sets it to a new MediaStream containing the Track's MediaStreamTrack; otherwise, it adds the Track's MediaStreamTrack to the existing MediaStream. Finally, if there are any other MediaStreamTracks of the same kind on the MediaStream, this method removes them.Parameters:
Name Type Description selectorstring A query selector for the HTMLMediaElement to attach to
Returns:
- Type
- HTMLMediaElement
Example
var Video = require('twilio-video'); Video.createLocalAudioTrack().then(function(track) { track.attach('#my-existing-video-element-id'); }); -
attach()
-
Attach the Track to a newly created HTMLMediaElement.
The HTMLMediaElement's
srcObjectwill be set to a new MediaStream containing the Track's MediaStreamTrack.Returns:
Either an HTMLAudioElement or HTMLVideoElement, depending on the Track's kind
- Type
- HTMLMediaElement
Example
var Video = require('twilio-video'); Video.createLocalVideoTrack().then(function(track) { var videoElement = track.attach(); document.getElementById('my-container').appendChild(videoElement); }); -
attach(el)
-
Attach the Track to an existing HTMLMediaElement.
If the HTMLMediaElement's
srcObjectis not set to a MediaStream, this method sets it to a new MediaStream containing the Track's MediaStreamTrack; otherwise, it adds the Track's MediaStreamTrack to the existing MediaStream. Finally, if there are any other MediaStreamTracks of the same kind on the MediaStream, this method removes them.Parameters:
Name Type Description elHTMLMediaElement The HTMLMediaElement to attach to
Returns:
- Type
- HTMLMediaElement
Example
var Video = require('twilio-video'); var videoElement; Video.createLocalVideoTrack().then(function(track) { videoElement = track.attach(); document.getElementById('my-container').appendChild(videoElement); return Video.createLocalAudioTrack(); }).then(function(track) { track.attach(videoElement); }); -
detach()
-
Detach a Track from all previously attached HTMLMediaElements.
Returns:
The detachedHTMLMediaElements
- Type
- Array.<HTMLMediaElement>
Example
var detachedElements = track.detach(); detachedElements.forEach(function(el) { el.remove(); }); -
detach(el)
-
Detach a Track from a previously attached HTMLMediaElement.
Parameters:
Name Type Description elHTMLMediaElement One of the HTMLMediaElements to which the Track is attached
Returns:
The detached HTMLMediaElement
- Type
- HTMLMediaElement
Example
var videoElement = document.getElementById('my-video-element'); track.detach(videoElement).remove(); -
detach(selector)
-
Detach a Track from a previously attached HTMLMediaElement specified by
document.querySelector.Parameters:
Name Type Description selectorstring The query selector of HTMLMediaElement to which the Track is attached
Returns:
The detached HTMLMediaElement
- Type
- HTMLMediaElement
Example
track.detach('#my-video-element').remove();
Type Definitions
-
ID
-
Type:
- string
Events
-
disabled
-
The Track was disabled. For AudioTracks this means "muted", and for VideoTracks this means "paused".
Parameters:
Name Type Description trackTrack The Track that was disabled
-
enabled
-
The Track was enabled. For AudioTracks this means "unmuted", and for VideoTracks this means "unpaused".
Parameters:
Name Type Description trackTrack The Track that was enabled
-
started
-
Parameters:
Name Type Description trackTrack The Track that started