SourceBuffer: abort()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die abort()
-Methode des SourceBuffer
-Interfaces bricht das aktuelle Segment ab und setzt den Segmentparser zurück.
Syntax
abort()
Parameter
Keine.
Rückgabewert
Keiner (undefined
).
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn die Eigenschaft
MediaSource.readyState
der übergeordneten Medienquelle nicht gleichopen
ist oder dieserSourceBuffer
aus derMediaSource
entfernt wurde.
Beispiele
Die Spezifikationsbeschreibung von abort()
ist etwas verwirrend – betrachten Sie beispielsweise Schritt 1 von reset parser state. Die MSE-API ist vollständig asynchron, aber dieser Schritt scheint eine synchrone (blockierende) Operation vorzuschlagen, was keinen Sinn ergibt.
Das gesagt, können aktuelle Implementierungen in bestimmten Situationen nützlich sein, wenn Sie die aktuelle Anhängeoperation (oder Ähnliches) stoppen möchten, die gerade auf einem Quellpuffer stattfindet, und dann sofort erneut Operationen darauf ausführen möchten. Betrachten Sie beispielsweise diesen Code:
sourceBuffer.addEventListener("updateend", (ev) => {
// …
});
sourceBuffer.appendBuffer(buf);
Angenommen, nach dem Aufruf von appendBuffer
, aber bevor das updateend
-Ereignis ausgelöst wird (d.h. ein Puffer wird angehängt, aber die Operation wurde noch nicht abgeschlossen), "scrubbt" ein Benutzer das Video und sucht zu einem neuen Zeitpunkt. In diesem Fall sollten Sie manuell abort()
auf dem Quellpuffer aufrufen, um die Dekodierung des aktuellen Puffers zu stoppen, dann das neu angeforderte Segment abrufen und anhängen, das sich auf die aktuelle neue Position des Videos bezieht.
Spezifikationen
Specification |
---|
Media Source Extensions™ # dom-sourcebuffer-abort |