The RTCPeerConnection
property
ontrack
is an EventHandler
which
specifies a function to be called when the track
event occurs, indicating
that a track has been added to the RTCPeerConnection
. The
function receives as input the event object, of type RTCTrackEvent
; this
event is sent when a new incoming MediaStreamTrack
has been created and
associated with an RTCRtpReceiver
object which has been added to the set
of receivers on connection.
Syntax
RTCPeerConnection.ontrack = eventHandler;
Value
Set ontrack
to be a function you provide that accepts as input a
RTCTrackEvent
object describing the new track and how it's being used.
This information includes the MediaStreamTrack
object representing the
new track, the RTCRtpReceiver
and RTCRtpTransceiver
, and a
list of MediaStream
objects which indicates which stream or streams the
track is part of..
Example
This example, taken from the code for the article Signaling and video
calling, connects the incoming track to the <video>
element which
will be used to display the incoming video.
pc.ontrack = function(event) {
document.getElementById("received_video").srcObject = event.streams[0];
document.getElementById("hangup-button").disabled = false;
};
The first line of our ontrack
event handler takes the first stream in the
incoming track and sets the srcobject
attribute to that.
This connects that stream of video to the element so that it begins to be presented to
the user. The second line of code enables a "hang up" button, which the user can use to
disconnect from the call.
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCPeerConnection.ontrack' in that specification. |
Candidate Recommendation | Initial specification. |
Browser compatibility
BCD tables only load in the browser
See also
- The
track
event and its type,RTCTrackEvent
.