RTCPeerConnection: addstream-Ereignis

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Das veraltete addstream-Ereignis wird an eine RTCPeerConnection gesendet, wenn neue Medien in Form eines MediaStream-Objekts hinzugefügt wurden.

Warnung: Dieses Ereignis wurde aus der WebRTC-Spezifikation entfernt. Stattdessen sollten Sie auf das track-Ereignis achten, das für jede Medienspur gesendet wird, die der RTCPeerConnection hinzugefügt wird.

Sie können ähnlich beobachten, wie Streams von der Verbindung entfernt werden, indem Sie das removestream-Ereignis überwachen.

Dieses Ereignis ist nicht abbrechbar und wird nicht gebubbelt.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("addstream", (event) => { })

onaddstream = (event) => { }

Ereignistyp

Ein MediaStreamEvent. Erbt von Event.

Ereigniseigenschaften

Ein MediaStreamEvent, da es ein Event ist, implementiert auch diese Eigenschaften.

MediaStreamEvent.stream Schreibgeschützt

Enthält den MediaStream, der mit dem Ereignis verbunden ist.

Beispiele

In diesem Beispiel wird ermittelt, ob der Browser des Benutzers das track-Ereignis unterstützt. Falls dies der Fall ist, wird ein track-Ereignislistener eingerichtet; andernfalls wird ein addstream-Ereignislistener eingerichtet. pc ist eine RTCPeerConnection.

js
if (pc.addTrack !== undefined) {
  pc.ontrack = (ev) => {
    ev.streams.forEach((stream) => doAddStream(stream));
  };
} else {
  pc.onaddstream = (ev) => {
    doAddStream(ev.stream);
  };
}

Dies ruft eine Funktion doAddStream() für jeden Stream auf, der zur RTCPeerConnection hinzugefügt wird, unabhängig davon, ob der Browser addstream oder track sendet.

Sie können auch die Methode addEventListener() verwenden, um einen Ereignislistener einzurichten:

js
pc.addEventListener("addstream", (ev) => doAddStream(ev.stream), false);

Browser-Kompatibilität

Siehe auch