MediaStreamTrack: stop()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

Die stop()-Methode der MediaStreamTrack-Schnittstelle stoppt den Track.

Syntax

js
stop()

Parameter

Keine.

Rückgabewert

Keine (undefined).

Beschreibung

Durch den Aufruf von stop() wird dem User-Agent mitgeteilt, dass die Quelle des Tracks – ganz gleich, welche Quelle das ist, einschließlich Dateien, Netzwerkstreams oder eine lokale Kamera oder ein Mikrofon – nicht mehr von der MediaStreamTrack benötigt wird. Da mehrere Tracks dieselbe Quelle verwenden können (zum Beispiel, wenn zwei Tabs das Mikrofon des Geräts verwenden), wird die Quelle selbst nicht unbedingt sofort gestoppt. Stattdessen wird sie vom Track gelöst und das Track-Objekt gestoppt. Sobald keine Medientracks die Quelle mehr verwenden, kann die Quelle tatsächlich vollständig gestoppt werden.

Unmittelbar nach dem Aufruf von stop() wird die readyState-Eigenschaft auf ended gesetzt. Beachten Sie, dass das ended-Ereignis in dieser Situation nicht ausgelöst wird.

Beispiele

Stoppen eines Videostreams

In diesem Beispiel sehen wir eine Funktion, die einen gestreamten Video-Inhalt stoppt, indem sie stop() für jeden Track auf einem gegebenen <video> aufruft.

js
function stopStreamedVideo(videoElem) {
  const stream = videoElem.srcObject;
  const tracks = stream.getTracks();

  tracks.forEach((track) => {
    track.stop();
  });

  videoElem.srcObject = null;
}

Dies funktioniert, indem der Stream des Videoelements von dessen srcObject-Eigenschaft abgerufen wird. Dann wird die Trackliste des Streams durch den Aufruf seiner getTracks()-Methode erhalten. Von dort aus bleibt nur noch, über die Trackliste mit forEach() zu iterieren und die stop()-Methode jedes Tracks aufzurufen.

Schließlich wird srcObject auf null gesetzt, um die Verbindung zum MediaStream-Objekt zu trennen, damit es freigegeben werden kann.

Spezifikationen

Specification
Media Capture and Streams
# dom-mediastreamtrack-stop

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch