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 RTCPeerConnection
s 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.
receiver
Schreibgeschützt-
Der
RTCRtpReceiver
, der von dem Track verwendet wird, der zurRTCPeerConnection
hinzugefügt wurde. streams
Schreibgeschützt Optional-
Ein Array von
MediaStream
-Objekten, von denen jedes einen der Mediastreams darstellt, zu denen der hinzugefügtetrack
gehört. Standardmäßig ist das Array leer, was einen streamlosen Track anzeigt. track
Schreibgeschützt-
Der
MediaStreamTrack
, der zur Verbindung hinzugefügt wurde. transceiver
Schreibgeschü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…