SourceBuffer: свойство mode
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.
Примечание: Эта функция доступна в посвященных веб-воркерах.
Свойство mode интерфейса SourceBuffer управляет тем, могут ли медиа-сегменты добавляться к SourceBuffer в произвольном порядке или в строгой последовательности.
Доступные значения:
-
segments: Временные метки медиа-сегментов определяют порядок их воспроизведения. Сегменты могут быть добавлены кSourceBufferв любом порядке. -
sequence: Порядок добавления сегментов кSourceBufferопределяет порядок их воспроизведения. Временные метки сегментов автоматически генерируются для сегментов, соблюдающих этот порядок.
Значение свойства mode устанавливается при создании SourceBuffer с помощью MediaSource.addSourceBuffer(). Если для медиа-сегментов уже существуют временные метки, значение будет установлено в segments; в противном случае – в sequence.
Если вы попытаетесь установить значение свойства mode в segments, когда начальное значение равно sequence, будет выброшено исключение. Порядок существующих сегментов должен быть сохранен в режиме sequence. Однако вы можете изменить значение с segments на sequence. Это просто означает, что порядок воспроизведения будет фиксированным, и будут сгенерированы новые временные метки, отражающие это.
Это свойство не может быть изменено во время обработки SourceBuffer вызова appendBuffer() или remove().
Значение
Строка.
Исключения
При установке нового значения для этого свойства могут быть выброшены следующие исключения:
-
InvalidAccessErrorDOMException -
Выбрасывается, если была предпринята попытка установить значение в
segments, когда начальное значение равноsequence. -
InvalidStateErrorDOMException -
Выбрасывается, если объект
SourceBufferобновляется (т. е. его свойствоSourceBuffer.updatingв настоящее времяtrue), последний добавленный медиа-сегмент в этотSourceBufferнеполный или этотSourceBufferбыл удален изMediaSource.
Примеры
Этот фрагмент устанавливает режим sourceBuffer в 'sequence' если он в настоящее время установлен в 'segments', тем самым устанавливая порядок воспроизведения в соответствии с порядком добавления медиа-сегментов.
const curMode = sourceBuffer.mode;
if (curMode === "segments") {
sourceBuffer.mode = "sequence";
}
Спецификации
| Спецификация |
|---|
| Media Source Extensions™ # dom-sourcebuffer-mode |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
mode |
23 | 12 | 42 | 15 | 8 | 33 | 42 | 14 | 13Доступно в Mobile Safari на iPad, но не на iPhone. |
3.0 | 4.4.3 |
worker_support |
108 | 108 | Нет | 94 | Нет | 108 | Нет | 73 | Нет | 21.0 | 108 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer/mode