SourceBuffer: mode-Eigenschaft
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 mode
-Eigenschaft des SourceBuffer
-Interfaces steuert, ob Mediensegmente dem SourceBuffer
in beliebiger Reihenfolge oder in strikter Sequenz hinzugefügt werden können.
Die zwei 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 demSourceBuffer
hinzugefügt werden, bestimmt die Reihenfolge, in der sie abgespielt werden. Zeitstempel für die Segmente, die diese Reihenfolge beachten, werden automatisch generiert.
Der Moduswert wird initial festgelegt, wenn der SourceBuffer
mit MediaSource.addSourceBuffer()
erstellt wird. Wenn für die Mediensegmente bereits Zeitstempel existieren, wird der Wert auf segments
gesetzt; wenn nicht, wird der Wert auf sequence
gesetzt.
Wenn Sie versuchen, den Wert der mode
-Eigenschaft auf segments
zu setzen, während der Anfangswert sequence
ist, wird eine Ausnahme ausgelöst. Die vorhandene Segmentreihenfolge muss im sequence
-Modus beibehalten werden. Sie können jedoch den Wert von segments
in sequence
ändern. Dies bedeutet lediglich, dass die Abspielreihenfolge fixiert wird und neue Zeitstempel generiert werden, die dies widerspiegeln.
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 gesetzt wird:
InvalidAccessError
DOMException
-
Wird ausgelöst, wenn versucht wurde, den Wert auf
segments
zu setzen, während der Anfangswertsequence
ist. InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
SourceBuffer
-Objekt aktualisiert wird (d.h. seineSourceBuffer.updating
-Eigenschaft derzeittrue
ist), das letzte Mediensegment, das diesemSourceBuffer
hinzugefügt wurde, unvollständig ist oder dieserSourceBuffer
von derMediaSource
entfernt wurde.
Beispiele
Dieser Codeabschnitt setzt den sourceBuffer
-Modus auf 'sequence'
, wenn er derzeit auf 'segments'
gesetzt ist, und legt somit die Abspielreihenfolge auf die Reihenfolge fest, in der Mediensegmente hinzugefügt werden.
const curMode = sourceBuffer.mode;
if (curMode === "segments") {
sourceBuffer.mode = "sequence";
}
Spezifikationen
Specification |
---|
Media Source Extensions™ # dom-sourcebuffer-mode |