track (WebRTC track event)

The track event is sent to the ontrack event handler on RTCPeerConnections after a new track has been added to an RTCRtpReceiver which is part of the connection.

By the time this event is delivered, the new track has been fully added to the peer connection. See Track event types in RTCTrackEvent for details.

General info

Specification
WebRTC 1.0: Real-time Communication Between Browsers
Interface
RTCTrackEvent
Bubbles
No
Cancelable
No
Target
RTCPeerConnection
Default Action
undefined

Properties

Since RTCTrackEvent is based on Event, its properties are also available.

receiver Read only
The RTCRtpReceiver used by the track that's been added to the RTCPeerConnection.
streams Read only Optional
An array of MediaStream objects, each representing one of the media streams which comprise the track that was added to the connection. By default, the array is empty.
track Read only
The MediaStreamTrack which has been added to the connection.
transceiver Read only
The RTCRtpTransceiver being used by the new track.

Examples

This example shows code that creates a new RTCPeerConnection, then adds a new "track" event handler.

pc = new RTCPeerConnection({
  iceServers: [
    {
      urls: "turn:fake.turnserver.url",
      username: "someusername",
      credential: "somepassword"
    }
  ]
});

pc.addEventHandler("track", e => {
  videoElement.srcObject = e.streams[0];
  hangupButton.disabled = false;
}, false);

The event handler assigns the new track's first stream to an existing <video> element, identified using the variable videoElement.

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCTrackEvent' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

No compatibility data found. Please contribute data for "event.track" (depth: 1) to the MDN compatibility data repository.

Document Tags and Contributors

Contributors to this page: Sheppy
Last updated by: Sheppy,