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
RTCTrackEventObjekt zurück. Sie werden wahrscheinlich keine neuen Track-Ereignisse selbst erstellen müssen, da diese typischerweise von der WebRTC-Infrastruktur erstellt und an denontrackEreignishandler der Verbindung gesendet werden.
Instanz-Eigenschaften
Da RTCTrackEvent auf Event basiert, sind seine Eigenschaften ebenfalls verfügbar.
receiverSchreibgeschützt-
Der
RTCRtpReceiver, der von dem Track verwendet wird, welcher zu derRTCPeerConnectionhinzugefügt wurde. streamsSchreibgeschützt Optional-
Ein Array von
MediaStreamObjekten, die jeweils einen der Medienströme repräsentieren, zu denen der hinzugefügtetrackgehört. Standardmäßig ist das Array leer, was auf einen Track ohne Stream hinweist. trackSchreibgeschützt-
Der
MediaStreamTrack, der zur Verbindung hinzugefügt wurde. transceiverSchreibgeschü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…