Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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.
DieWebRTC API SchnittstelleRTCTrackEvent repräsentiert dastrack Ereignis, welches gesendet wird, wenn ein neuerMediaStreamTrack zu einemRTCRtpReceiver hinzugefügt wird, der Teil derRTCPeerConnection ist.
Das Ziel ist dasRTCPeerConnection 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 keinRTCTrackEvent selbst instanziieren.
In diesem Artikel
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
DaRTCTrackEvent aufEvent basiert, sind seine Eigenschaften ebenfalls verfügbar.
receiverSchreibgeschütztDer
RTCRtpReceiver, der von dem Track verwendet wird, welcher zu derRTCPeerConnectionhinzugefügt wurde.streamsSchreibgeschütztOptionalEin 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ütztDer
MediaStreamTrack, der zur Verbindung hinzugefügt wurde.transceiverSchreibgeschütztDer
RTCRtpTransceiver, der von dem neuen Track verwendet wird.
Track-Ereignistypen
Es gibt nur einen Typ von Track-Ereignis.
track
Dastrack Ereignis wird an dieRTCPeerConnection gesendet, wenn ein neuer Track zur Verbindung hinzugefügt wurde. Zu dem Zeitpunkt, an dem dastrack Ereignis an denontrack Handler derRTCPeerConnection übermittelt wird, hat das neue Medium seine Verhandlung für einen bestimmtenRTCRtpReceiver abgeschlossen (der durch die Eigenschaftreceiver des Ereignisses angegeben wird).
Zusätzlich ist der durch den Receiver spezifiziertetrack identisch mit dem im Ereignis angegebenentrack, und der Track wurde zu allen zugehörigen entferntenMediaStream Objekten hinzugefügt.
Sie können einen Event-Listener fürtrack 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 vonRTCPeerConnection.addEventListener() oder derontrack Eventhandler-Eigenschaft.
Hinweis:Es kann hilfreich sein, sich zu merken, dass Sie dastrack Ereignis erhalten, wenn ein neuer eingehender Track Ihrer Verbindung hinzugefügt wurde, und Sie rufenaddTrack() auf, um einen Track an das entfernte Ende der Verbindung hinzuzufügen, wodurch eintrack Ereignis beim remote Peer ausgelöst wird.
Beispiel
Dieses einfache Beispiel erstellt einen Event-Listener für dastrack Ereignis, der diesrcObject des<video> Elements mit der IDvideo-box auf den ersten Stream in der Liste setzt, die imstreams 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> |