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 zumSourceBufferhinzugefügt werden.sequence: Die Reihenfolge, in der die Segmente demSourceBufferhinzugefü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:
InvalidAccessErrorDOMException-
Wird ausgelöst, wenn versucht wurde, den Wert auf
segmentszu setzen, während der Anfangswertsequenceist. InvalidStateErrorDOMException-
Wird ausgelöst, wenn das
SourceBuffer-Objekt aktualisiert wird (d.h. seineSourceBuffer.updating-Eigenschaft derzeittrueist), das letzte Mediensegment, das diesemSourceBufferhinzugefügt wurde, unvollständig ist oder dieserSourceBuffervon derMediaSourceentfernt 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> |
Browser-Kompatibilität
Loading…