SourceBuffer: abort() Methode

Hinweis: Dieses Feature ist verfügbar in Dedicated Web Workers.

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 Mediaquelle nicht open ist, oder dieser SourceBuffer aus der MediaSource 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:

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 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

Siehe auch