MediaSource: свойство readyState
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых наиболее распространённых браузерах.
Примечание: Эта функция доступна в посвящённых веб-воркерах.
Только для чтения свойство readyState интерфейса MediaSource возвращает перечисление, представляющее состояние текущего MediaSource. Возможны три значения:
-
closed: Источник в настоящее время не прикреплен к медиаэлементу. -
open: Источник прикреплен к медиаэлементу и готов принять объектыSourceBuffer. -
ended: Источник прикреплён к медиаэлементу, но поток был завершён вызовомMediaSource.endOfStream().
Значение
Строка.
Примеры
Следующий фрагмент взят из примера, написанного Ником Дезоньер (полный пример или исходный код для дальнейшего изучения). Функция getMediaSource(), которая здесь не определена, возвращает MediaSource.
let mediaSource;
if ("MediaSource" in window && MediaSource.isTypeSupported(mimeCodec)) {
mediaSource = getMediaSource();
console.log(mediaSource.readyState); // closed
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener("sourceopen", sourceOpen);
} else {
console.error("Unsupported MIME type or codec: ", mimeCodec);
}
function sourceOpen() {
console.log(this.readyState); // open
const sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
fetchAB(assetURL, (buf) => {
sourceBuffer.addEventListener("updateend", () => {
mediaSource.endOfStream();
video.play();
console.log(mediaSource.readyState); // ended
});
sourceBuffer.appendBuffer(buf);
});
}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
readyState |
23 | 12 | 42 | 15 | 8 | 33 | 41 | 14 | 13Доступно в Mobile Safari на iPad, но не на iPhone. |
2.0 | 4.4.3 |
См. также
© 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/MediaSource/readyState