SourceBuffer: abort() Methode
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 Mediaquelle nichtopen
ist, oder dieserSourceBuffer
aus derMediaSource
entfernt wurde.
Beispiele
Die Spezifikationsbeschreibung von abort()
ist etwas verwirrend — betrachten Sie zum Beispiel 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 den aktuellen Anhängevorgang (oder was auch immer) auf einem Quellpuffer stoppen und dann sofort erneut Operationen darauf durchführen möchten. Betrachten Sie zum Beispiel 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 der Vorgang ist noch nicht abgeschlossen), "scrubbt" ein Benutzer das Video und sucht einen neuen Zeitpunkt. In diesem Fall sollten Sie manuell abort()
auf dem Quellpuffer aufrufen, um das Dekodieren 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 |
Browser-Kompatibilität
BCD tables only load in the browser