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 Ereignis-Handler auf RTCPeerConnections gesendet, nachdem ein neuer Track zu einem RTCRtpReceiver hinzugefügt wurde, der Teil der Verbindung ist.

Zum Zeitpunkt der Übermittlung dieses Ereignisses wurde der neue Track vollständig zur Peer-Verbindung hinzugefügt. Siehe Track-Ereignistypen für Details.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergegeben.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Event-Handler-Eigenschaft.

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

ontrack = (event) => { }

Ereignistyp

Ein RTCTrackEvent. Erbt von Event.

Event RTCTrackEvent

Beispiele

Dieses Beispiel zeigt Code, der eine neue RTCPeerConnection erstellt und dann einen neuen track Ereignis-Handler 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 Ereignis-Handler weist den ersten Stream des neuen Tracks einem vorhandenen <video>-Element zu, das mit der Variablen videoElement identifiziert wird.

Sie können die Ereignis-Handler-Funktion auch der Eigenschaft ontrack zuweisen, anstatt addEventListener() zu verwenden.

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