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 Januar 2020.
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.
Zu dem Zeitpunkt, an dem dieses Ereignis ausgeliefert wird, wurde der neue Track vollständig zur Peer-Verbindung hinzugefügt. Siehe Track-Ereignistypen für Details.
Dieses Ereignis kann nicht abgebrochen werden und steigt nicht auf.
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.
Ereigniseigenschaften
Da RTCTrackEvent auf Event basiert, sind dessen Eigenschaften ebenfalls verfügbar.
receiverSchreibgeschützt-
Der
RTCRtpReceiver, der von dem Track verwendet wird, der zurRTCPeerConnectionhinzugefügt wurde. streamsSchreibgeschützt Optional-
Ein Array von
MediaStream-Objekten, von denen jedes einen der Mediastreams darstellt, zu denen der hinzugefügtetrackgehört. Standardmäßig ist das Array leer, was einen streamlosen Track anzeigt. trackSchreibgeschützt-
Der
MediaStreamTrack, der zur Verbindung hinzugefügt wurde. transceiverSchreibgeschützt-
Der
RTCRtpTransceiver, der von dem neuen Track verwendet wird.
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 Event-Handler weist den ersten Stream des neuen Tracks einem vorhandenen <video>-Element zu, das durch die Variable videoElement identifiziert wird.
Sie können die Event-Handler-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> |
Browser-Kompatibilität
Loading…