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.
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 denontrack
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 derRTCPeerConnection
hinzugefügt wurde. streams
Schreibgeschützt Optional-
Ein Array von
MediaStream
Objekten, die jeweils einen der Medienströme repräsentieren, zu denen der hinzugefügtetrack
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.
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
Loading…