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

View in English Always switch to English

RTCTrackEvent

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Januar 2020⁩.

Die WebRTC API Schnittstelle RTCTrackEvent repräsentiert das track Ereignis, welches gesendet wird, wenn ein neuer MediaStreamTrack zu einem RTCRtpReceiver hinzugefügt wird, der Teil der RTCPeerConnection ist.

Das Ziel ist das RTCPeerConnection Objekt, zu dem der Track hinzugefügt wird.

Dieses Ereignis wird von der WebRTC-Schicht an die Website oder Anwendung gesendet, daher müssen Sie normalerweise kein RTCTrackEvent selbst instanziieren.

Event RTCTrackEvent

Konstruktor

RTCTrackEvent()

Erstellt und gibt ein neues RTCTrackEvent Objekt zurück. Sie werden wahrscheinlich keine neuen Track-Ereignisse selbst erstellen müssen, da diese typischerweise von der WebRTC-Infrastruktur erstellt und an den ontrack Ereignishandler der Verbindung gesendet werden.

Instanz-Eigenschaften

Da RTCTrackEvent auf Event basiert, sind seine Eigenschaften ebenfalls verfügbar.

receiver Schreibgeschützt

Der RTCRtpReceiver, der von dem Track verwendet wird, welcher zu der RTCPeerConnection hinzugefügt wurde.

streams Schreibgeschützt Optional

Ein Array von MediaStream Objekten, die jeweils einen der Medienströme repräsentieren, zu denen der hinzugefügte track gehört. Standardmäßig ist das Array leer, was auf einen Track ohne Stream hinweist.

track Schreibgeschützt

Der MediaStreamTrack, der zur Verbindung hinzugefügt wurde.

transceiver Schreibgeschützt

Der RTCRtpTransceiver, der von dem neuen Track verwendet wird.

Track-Ereignistypen

Es gibt nur einen Typ von Track-Ereignis.

track

Das track Ereignis wird an die RTCPeerConnection gesendet, wenn ein neuer Track zur Verbindung hinzugefügt wurde. Zu dem Zeitpunkt, an dem das track Ereignis an den ontrack Handler der RTCPeerConnection übermittelt wird, hat das neue Medium seine Verhandlung für einen bestimmten RTCRtpReceiver abgeschlossen (der durch die Eigenschaft receiver des Ereignisses angegeben wird).

Zusätzlich ist der durch den Receiver spezifizierte track identisch mit dem im Ereignis angegebenen track, und der Track wurde zu allen zugehörigen entfernten MediaStream Objekten hinzugefügt.

Sie können einen Event-Listener für track hinzufügen, um benachrichtigt zu werden, wenn der neue Track verfügbar ist, sodass Sie dessen Medien zum Beispiel an ein <video> Element anhängen können, entweder durch die Verwendung von RTCPeerConnection.addEventListener() oder der ontrack Eventhandler-Eigenschaft.

Hinweis: Es kann hilfreich sein, sich zu merken, dass Sie das track Ereignis erhalten, wenn ein neuer eingehender Track Ihrer Verbindung hinzugefügt wurde, und Sie rufen addTrack() auf, um einen Track an das entfernte Ende der Verbindung hinzuzufügen, wodurch ein track Ereignis beim remote Peer ausgelöst wird.

Beispiel

Dieses einfache Beispiel erstellt einen Event-Listener für das track Ereignis, der die srcObject des <video> Elements mit der ID video-box auf den ersten Stream in der Liste setzt, die im streams Array des Ereignisses übergeben wird.

js
peerConnection.addEventListener("track", (e) => {
  let videoElement = document.getElementById("video-box");
  videoElement.srcObject = e.streams[0];
});

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtctrackevent

Browser-Kompatibilität