Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCPeerConnection: removeTrack()-Methode

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.

Die removeTrack()-Methode der RTCPeerConnection-Schnittstelle teilt dem lokalen Ende der Verbindung mit, dass es aufhören soll, Medien von dem angegebenen Track zu senden, ohne den entsprechenden RTCRtpSender aus der Liste der Sender zu entfernen, wie sie von RTCPeerConnection.getSenders() berichtet wird. Wenn der Track bereits gestoppt ist oder sich nicht in der Senderliste der Verbindung befindet, hat diese Methode keine Wirkung.

Wenn die Verbindung bereits verhandelt wurde (signalingState ist auf "stable" gesetzt), wird sie als neu zu verhandeln markiert; der entfernte Peer wird die Änderung erst bemerken, wenn diese Verhandlung erfolgt. Ein negotiationneeded-Ereignis wird an die RTCPeerConnection gesendet, um dem lokalen Ende mitzuteilen, dass diese Verhandlung stattfinden muss.

Syntax

js
removeTrack(sender)

Parameter

sender

Ein RTCRtpSender, der den zu entfernenden Sender aus der Verbindung angibt.

Rückgabewert

undefined.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn die Verbindung nicht geöffnet ist.

Beispiel

Dieses Beispiel fügt einer Verbindung einen Videotrack hinzu und richtet einen Listener auf eine Schaltfläche zum Schließen ein, der den Track entfernt, wenn der Benutzer auf die Schaltfläche klickt.

js
let pc;
let sender;
navigator.getUserMedia({ video: true }, (stream) => {
  pc = new RTCPeerConnection();
  const [track] = stream.getVideoTracks();
  sender = pc.addTrack(track, stream);
});

document.getElementById("closeButton").addEventListener("click", (event) => {
  pc.removeTrack(sender);
  pc.close();
});

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-removetrack

Browser-Kompatibilität

Siehe auch