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
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.
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
MediaStreamTrack
, die Schnittstelle, zu der es gehört.MediaStreamTrack.readyState
ended