SourceBuffer: mode-Eigenschaft
Hinweis: Dieses Feature ist verfügbar in Dedicated Web Workers.
Die mode
-Eigenschaft des SourceBuffer
-Interfaces legt fest, ob Mediensegmente in beliebiger Reihenfolge oder in einer strengen Sequenz zum SourceBuffer
hinzugefügt werden können.
Die beiden verfügbaren Werte sind:
segments
: Die Zeitstempel der Mediensegmente bestimmen die Reihenfolge, in der die Segmente abgespielt werden. Die Segmente können in beliebiger Reihenfolge zumSourceBuffer
hinzugefügt werden.sequence
: Die Reihenfolge, in der die Segmente zumSourceBuffer
hinzugefügt werden, bestimmt die Reihenfolge, in der sie abgespielt werden. Segmentzeitstempel werden automatisch für die Segmente generiert, die diese Reihenfolge einhalten.
Der Moduswert wird initial festgelegt, wenn der SourceBuffer
mit MediaSource.addSourceBuffer()
erstellt wird. Wenn Zeitstempel für die Mediensegmente bereits existieren, wird der Wert auf segments
gesetzt; andernfalls auf sequence
.
Wenn Sie versuchen, den Wert der mode
-Eigenschaft auf segments
zu setzen, wenn der Anfangswert sequence
ist, wird eine Ausnahme ausgelöst. Die bestehende Segmentreihenfolge muss im sequence
-Modus beibehalten werden. Sie können jedoch den Wert von segments
zu sequence
ändern. Dies bedeutet lediglich, dass die Abspielreihenfolge festgelegt wird und neue Zeitstempel generiert werden, um diese widerzuspiegeln.
Diese Eigenschaft kann nicht geändert werden, während der SourceBuffer
entweder einen appendBuffer()
oder einen remove()
-Aufruf verarbeitet.
Wert
Ein String.
Ausnahmen
Die folgenden Ausnahmen können ausgelöst werden, wenn ein neuer Wert für diese Eigenschaft festgelegt wird:
InvalidAccessError
DOMException
-
Wird ausgelöst, wenn versucht wurde, den Wert auf
segments
zu setzen, als der Anfangswertsequence
war. InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
SourceBuffer
-Objekt gerade aktualisiert wird (d.h. seineSourceBuffer.updating
-Eigenschaft derzeittrue
ist), das letzte zumSourceBuffer
hinzugefügte Mediensegment unvollständig ist, oder dieserSourceBuffer
aus demMediaSource
entfernt wurde.
Beispiele
Dieser Codeausschnitt setzt den sourceBuffer
-Modus auf 'sequence'
, wenn er derzeit auf 'segments'
gesetzt ist, und legt damit die Abspielreihenfolge auf die Sequenz fest, in der die Mediensegmente hinzugefügt werden.
const curMode = sourceBuffer.mode;
if (curMode === "segments") {
sourceBuffer.mode = "sequence";
}
Spezifikationen
Specification |
---|
Media Source Extensions™ # dom-sourcebuffer-mode |
Browser-Kompatibilität
BCD tables only load in the browser