RTCPeerConnection: track-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Das track-Ereignis wird an den ontrack Ereignis-Handler auf RTCPeerConnections gesendet, nachdem ein neuer Track zu einem RTCRtpReceiver hinzugefügt wurde, der Teil der Verbindung ist.
Zum Zeitpunkt der Übermittlung dieses Ereignisses wurde der neue Track vollständig zur Peer-Verbindung hinzugefügt. Siehe Track-Ereignistypen für Details.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Event-Handler-Eigenschaft.
addEventListener("track", (event) => { })
ontrack = (event) => { }
Ereignistyp
Ein RTCTrackEvent. Erbt von Event.
Beispiele
Dieses Beispiel zeigt Code, der eine neue RTCPeerConnection erstellt und dann einen neuen track Ereignis-Handler hinzufügt.
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;
});
Der Ereignis-Handler weist den ersten Stream des neuen Tracks einem vorhandenen <video>-Element zu, das mit der Variablen videoElement identifiziert wird.
Sie können die Ereignis-Handler-Funktion auch der Eigenschaft ontrack zuweisen, anstatt addEventListener() zu verwenden.
pc.ontrack = (e) => {
videoElement.srcObject = e.streams[0];
hangupButton.disabled = false;
return false;
};
Spezifikationen
| Spezifikation |
|---|
| WebRTC: Real-Time Communication in Browsers> # event-track> |