Буфер источника: метод abort()
Ограниченная доступность
Эта функция не относится к Baseline, так как не работает в некоторых из самых широко используемых браузеров.
Примечание: Эта функция доступна в Посвященных веб-воркерах.
Метод abort() интерфейса SourceBuffer прерывает текущий сегмент и сбрасывает парсер сегмента.
Синтаксис
abort()
Параметры
Нет.
Возвращаемое значение
None (undefined).
Исключения
-
InvalidStateErrorDOMException -
Выбрасывается, если свойство
MediaSource.readyStateродительского источника медиа не равноopen, или этотSourceBufferбыл удален изMediaSource.
Примеры
Описание спецификации abort() несколько запутанно — например, рассмотрите шаг 1 сброса состояния парсера. API MSE полностью асинхронный, но этот шаг, кажется, предполагает синхронную (блокирующую) операцию, что не имеет смысла.
Тем не менее, текущие реализации могут быть полезны в определенных ситуациях, когда требуется остановить текущую операцию добавления (или любую другую) в буфере источника и немедленно начать выполнение операций с ним снова. Например, рассмотрите этот код:
sourceBuffer.addEventListener("updateend", (ev) => {
// ...
});
sourceBuffer.appendBuffer(buf);
Предположим, что после вызова appendBuffer НО перед тем, как сработает событие updateend (т.е. буфер добавляется, но операция ещё не завершена), пользователь «прокручивает» видео, переходя к новому моменту времени. В этом случае вам необходимо вручную вызвать abort() в буфере источника, чтобы остановить декодирование текущего буфера, а затем извлечь и добавить новый запрошенный сегмент, относящийся к текущей новой позиции видео.
Спецификации
| Спецификация |
|---|
| Расширения источника медиа™ # dom-sourcebuffer-abort |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
abort |
23 | 12 | 42 | 15 | 8 | 25 | 42 | 14 | 13Доступен в Mobile Safari на iPad, но не на iPhone. |
2.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/abort