RTCPeerConnection: track Ereignis
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.
Das track
-Ereignis wird an den ontrack
-Ereignishandler auf RTCPeerConnection
s gesendet, nachdem eine neue Spur zu einem RTCRtpReceiver
hinzugefügt wurde, der Teil der Verbindung ist.
Zum Zeitpunkt der Zustellung dieses Ereignisses wurde die neue Spur vollständig zur Peer-Verbindung hinzugefügt. Siehe Track-Ereignistypen für Details.
Dieses Ereignis ist nicht abbrechbar und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("track", (event) => { })
ontrack = (event) => { }
Ereignistyp
Ein RTCTrackEvent
. Erbt von Event
.
Ereigniseigenschaften
Da RTCTrackEvent
auf Event
basiert, sind dessen Eigenschaften ebenfalls verfügbar.
receiver
Schreibgeschützt-
Der
RTCRtpReceiver
, der von der hinzugefügten Spur in derRTCPeerConnection
verwendet wird. streams
Schreibgeschützt Optional-
Ein Array von
MediaStream
-Objekten, von denen jedes einen der Medienstreams repräsentiert, zu denen die hinzugefügtetrack
gehört. Standardmäßig ist das Array leer, was auf eine spurlose Spur hinweist. track
Schreibgeschützt-
Die
MediaStreamTrack
, die zur Verbindung hinzugefügt wurde. transceiver
Schreibgeschützt-
Der
RTCRtpTransceiver
, der von der neuen Spur verwendet wird.
Beispiele
Dieses Beispiel zeigt Code zur Erstellung einer neuen RTCPeerConnection
und fügt einen neuen track
-Ereignishandler hinzu.
pc = new RTCPeerConnection({
iceServers: [
{
urls: "turn:fake.turn-server.url",
username: "some username",
credential: "some-password",
},
],
});
pc.addEventListener(
"track",
(e) => {
videoElement.srcObject = e.streams[0];
hangupButton.disabled = false;
},
false,
);
Der Ereignishandler weist den ersten Stream der neuen Spur einem vorhandenen <video>
-Element zu, das mithilfe der Variablen videoElement
identifiziert wird.
Sie können die Ereignishandler-Funktion auch der ontrack
-Eigenschaft zuweisen, anstatt addEventListener()
zu verwenden.
pc.ontrack = (e) => {
videoElement.srcObject = e.streams[0];
hangupButton.disabled = false;
return false;
};
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # event-track |