RTCTrackEvent
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Die WebRTC API-Schnittstelle RTCTrackEvent
repräsentiert das track
-Ereignis, das gesendet wird, wenn ein neuer MediaStreamTrack
zu einem RTCRtpReceiver
hinzugefügt wird, der Teil der RTCPeerConnection
ist.
Das Zielobjekt 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 werden Sie normalerweise kein RTCTrackEvent
selbst instanziieren müssen.
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 dessen Eigenschaften ebenfalls verfügbar.
receiver
Nur lesbar-
Der
RTCRtpReceiver
, der durch den Track verwendet wird, der zu derRTCPeerConnection
hinzugefügt wurde. streams
Nur lesbar Optional-
Ein Array von
MediaStream
-Objekten, von denen jedes einen der Medienstreams repräsentiert, zu denen der hinzugefügtetrack
gehört. Standardmäßig ist das Array leer, was auf einen streamlosen Track hinweist. track
Nur lesbar-
Der
MediaStreamTrack
, der zur Verbindung hinzugefügt wurde. transceiver
Nur lesbar-
Der
RTCRtpTransceiver
, der durch den 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, zu dem das track
-Ereignis an den ontrack
-Handler der RTCPeerConnection
geliefert wird, hat das neue Medium seine Verhandlung für einen spezifischen RTCRtpReceiver
abgeschlossen (der durch die receiver
-Eigenschaft des Ereignisses angegeben ist).
Zusätzlich ist der durch den Receiver angegebene track
derselbe wie der durch das Ereignis angegebene track
, und der Track wurde zu allen zugehörigen entfernten MediaStream
-Objekten hinzugefügt.
Sie können einen track
-Ereignislistener hinzufügen, um benachrichtigt zu werden, wenn der neue Track verfügbar ist, damit Sie beispielsweise dessen Medien an ein <video>
-Element anhängen können, entweder mit RTCPeerConnection.addEventListener()
oder der ontrack
-Ereignishandler-Eigenschaft.
Hinweis: Es kann hilfreich sein, sich daran zu erinnern, dass Sie das track
-Ereignis erhalten, wenn ein neuer eingehender Track zu Ihrer Verbindung hinzugefügt wurde, und Sie rufen addTrack()
auf, um einen Track zum entfernten Ende der Verbindung hinzuzufügen, was ein track
-Ereignis beim entfernten Peer auslöst.
Beispiel
Dieses einfache Beispiel erstellt einen Ereignislistener für das track
-Ereignis, das die srcObject
des <video>
-Elements mit der ID video-box
auf den ersten Stream in der im streams
-Array des Ereignisses übergebenen Liste setzt.
peerConnection.addEventListener(
"track",
(e) => {
let videoElement = document.getElementById("video-box");
videoElement.srcObject = e.streams[0];
},
false,
);
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtctrackevent |
Browser-Kompatibilität
BCD tables only load in the browser