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

js
abort()

Parameter

Keine.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn die Eigenschaft MediaSource.readyState der übergeordneten Medienquelle nicht gleich open ist oder dieser SourceBuffer aus der MediaSource 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:

js
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

Browser-Kompatibilität

Siehe auch