RTCPeerConnection: addstream-Ereignis
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
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 das track-Ereignis beobachten, das für jede Medienspur gesendet wird, die zur RTCPeerConnection hinzugefügt wird.
Sie können ähnlich beobachten, wann Streams aus der Verbindung entfernt werden, indem Sie das removestream-Ereignis überwachen.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("addstream", (event) => { })
onaddstream = (event) => { }
Ereignistyp
Ein MediaStreamEvent. Erbt von Event.
Beispiele
Dieses Beispiel prüft, ob der Browser des Benutzers das track-Ereignis unterstützt. Falls ja, wird ein track-Ereignis-Listener eingerichtet; andernfalls ein addstream-Ereignis-Listener. pc ist eine RTCPeerConnection.
if (pc.addTrack !== undefined) {
pc.ontrack = (ev) => {
ev.streams.forEach((stream) => doAddStream(stream));
};
} else {
pc.onaddstream = (ev) => {
doAddStream(ev.stream);
};
}
Diese Funktion ruft einmal für jeden Stream, der zur RTCPeerConnection hinzugefügt wird, die Funktion doAddStream() auf, unabhängig davon, ob der Browser addstream oder track sendet.
Sie können auch die Methode addEventListener() verwenden, um einen Ereignis-Listener einzurichten:
pc.addEventListener("addstream", (ev) => doAddStream(ev.stream), false);