Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCPeerConnection: track-Ereignis

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Das track-Ereignis wird an den ontrack-Event-Handler einer RTCPeerConnection gesendet, nachdem einem RTCRtpReceiver, der Teil der Verbindung ist, ein neuer Track hinzugefügt wurde.

Wenn dieses Ereignis ausgelöst wird, wurde der neue Track bereits vollständig zur Peer-Verbindung hinzugefügt. Einzelheiten finden Sie unter Typen von Track-Ereignissen.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("track", (event) => { })

Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle eine Funktion zuweisen:

js
ontrack = (event) => { }

Ereignistyp

Ein RTCTrackEvent. Erbt von Event.

Event RTCTrackEvent

Beispiele

Dieses Beispiel zeigt Code, der eine neue RTCPeerConnection erstellt und anschließend einen neuen Event-Handler für track hinzufügt.

js
pc = new RTCPeerConnection({
  iceServers: [
    {
      urls: "turn:fake.turn-server.url",
      username: "some username",
      credential: "some-password",
    },
  ],
});

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

Der Event-Handler weist den ersten Stream des neuen Tracks einem vorhandenen <video>-Element zu, das über die Variable videoElement identifiziert wird.

Sie können die Event-Handler-Funktion auch der Eigenschaft ontrack zuweisen, anstatt addEventListener() zu verwenden. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über ontrack hinzugefügte Event-Listener ersetzt werden.

js
pc.ontrack = (e) => {
  videoElement.srcObject = e.streams[0];
  hangupButton.disabled = false;
  return false;
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# event-track

Browser-Kompatibilität