MediaStream

Интерфейс MediaStream представляет поток медиа данных. Поток состоит из нескольких треков, таких как видео и аудио треки. Каждый трек является экземпляром MediaStreamTrack. MediaStream можно получить либо с помощью конструктора, либо вызовом MediaDevices.getUserMedia().

Некоторые агенты предоставляют подклассы, чтобы привести более точную информацию или расширить функционал, например CanvasCaptureMediaStream.

Конструктор

MediaStream()
Создаёт и возвращает новый объект MediaStream. Можно создать пустой поток, поток, основанный на существующем или содержащий указанный список треков (массив объектов MediaStreamTrack).

Свойства

Этот интерфейс наследует свойства своего родителя, EventTarget.

MediaStream.active Только для чтения
Возвращает true, если MediaStream активен, иначе false.
MediaStream.ended Только для чтения  
Возвращает true, если достигнут конец потока. Это свойство удалено из спецификации; следует проверять свойство MediaStreamTrack.readyState, которое имеет значение "ended" у завершённых треков.
MediaStream.id Только для чтения
Объект DOMString, содержащий 36 символов универсального уникального идентификатора (UUID) потока.

Обработчики событий

MediaStream.onaddtrack
Объект EventHandler, содержащий действие, которое должно выполняться, когда случается событие addtrack при добавлении нового объекта MediaStreamTrack.
MediaStream.onremovetrack
Объект EventHandler, содержащий действие, которое должно выполняться, когда случается событие removetrack при удалении объекта  MediaStreamTrack.

Методы

Этот интерфейс наследует методы своего родителя, EventTarget.

MediaStream.addTrack()
Сохраняет копию данного объекта MediaStreamTrack. Если данный трек добавлялся в MediaStream ранее, ничего не происходит.
MediaStream.clone()
Возвращает точную копию объекта MediaStream. Исключение составляет значение id, которое изменится на новое уникальное.
MediaStream.getAudioTracks()
Возвращает список объектов MediaStreamTrack, хранимых в объекте MediaStream с атрибутом kind имеющим значение "audio". Порядок не определён и может меняться между браузерами, а также между вызовами.
MediaStream.getTrackById()
Возвращает трек с trackid соответствующем данному. Если в метод не передано аргументов или трека с данным ID нет, возвращает null. Если несколько треков имеют одинаковый ID, возвращает первый из них.
MediaStream.getTracks()
Возвращает список всех объектов MediaStreamTrack, сохранённых в объекте MediaStream, вне зависимости от значения их свойства kind. Порядок не определён и может меняться между брауерами, а также между вызовами.
MediaStream.getVideoTracks()
Возвращает список объектов MediaStreamTrack, хранимых в объекте MediaStream с атрибутом kind имеющим значение "video". Порядок не определён и может меняться между браузерами, а также между вызовами.
MediaStream.removeTrack()
Удаляет данный объект MediaStreamTrack. Если данный трек не сохранён в объекте MediaStream, ничего не происходит.

События

addtrack
Вызывается при добавлении нового объекта MediaStreamTrack.
Также доступно как свойство onaddtrack.
removetrack
Вызывается при удалении объекта MediaStreamTrack.
Также доступно как свойство onremovetrack.

Спецификации

Specification Status Comment
Media Capture and Streams
Определение 'MediaStream' в этой спецификации.
Кандидат в рекомендации

Поддержка браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
MediaStreamChrome Полная поддержка 55
Полная поддержка 55
Полная поддержка 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 15IE Нет поддержки НетOpera Полная поддержка 42
Полная поддержка 42
Полная поддержка 15
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 11WebView Android Полная поддержка 55
Полная поддержка 55
Полная поддержка ≤37
С префиксом
С префиксом Требует вендорный префикс: webkit
Chrome Android Полная поддержка 55
Полная поддержка 55
Полная поддержка 25
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 15Opera Android Полная поддержка 42
Полная поддержка 42
Полная поддержка 14
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 11Samsung Internet Android Полная поддержка 6.0
Полная поддержка 6.0
Полная поддержка 1.5
С префиксом
С префиксом Требует вендорный префикс: webkit
MediaStream() constructorChrome Полная поддержка 21Edge Полная поддержка ≤18Firefox Полная поддержка 44IE Нет поддержки НетOpera Полная поддержка 42Safari Нет поддержки НетWebView Android Полная поддержка 37Chrome Android Полная поддержка 25Firefox Android Полная поддержка 42Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 6.0
activeChrome Полная поддержка 45Edge Полная поддержка 12Firefox Полная поддержка 52IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android Полная поддержка 52Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 5.0
active eventChrome Полная поддержка 45Edge Полная поддержка ≤79Firefox ? IE Нет поддержки НетOpera ? Safari ? WebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Полная поддержка 5.0
addTrackChrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка 44IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
addtrack eventChrome Полная поддержка ДаEdge Полная поддержка 12Firefox Полная поддержка 50IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Полная поддержка 50Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
cloneChrome Полная поддержка 45Edge Полная поддержка 12Firefox Полная поддержка 48IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android Полная поддержка 48Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 5.0
ended
Устаревшая
Chrome Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 52.
Edge ? Firefox Нет поддержки НетIE Нет поддержки НетOpera Нет поддержки ? — 39Safari ? WebView Android Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 52.
Chrome Android Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 52.
Firefox Android Нет поддержки НетOpera Android Нет поддержки ? — 41Safari iOS ? Samsung Internet Android Нет поддержки ? — 6.0
Замечания
Нет поддержки ? — 6.0
Замечания
Замечания Deprecated in Samsung Internet 6.0.
getAudioTracksChrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка 22
Замечания
Полная поддержка 22
Замечания
Замечания Prior to Firefox 64, this method returned an array of AudioStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Полная поддержка 22
Замечания
Полная поддержка 22
Замечания
Замечания Prior to Firefox 64, this method returned an array of AudioStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
getTrackByIdChrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка 49IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Полная поддержка 49Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
getTracks
Экспериментальная
Chrome Полная поддержка 45Edge Полная поддержка 12Firefox Полная поддержка ДаIE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android Полная поддержка ДаOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 5.0
getVideoTracks
Экспериментальная
Chrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка 22
Замечания
Полная поддержка 22
Замечания
Замечания Prior to Firefox 64, this method returned an array of VideoStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Полная поддержка 22
Замечания
Полная поддержка 22
Замечания
Замечания Prior to Firefox 64, this method returned an array of VideoStreamTrack objects. However, MediaStreamTrack has now subsumed that interface's functionality.
Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
idChrome Нет поддержки ? — 54Edge Нет поддержки 12 — 79Firefox Полная поддержка 41IE Нет поддержки НетOpera Нет поддержки ? — 39Safari Полная поддержка ДаWebView Android Нет поддержки ? — 54Chrome Android Нет поддержки ? — 54Firefox Android Полная поддержка 41Opera Android Нет поддержки ? — 41Safari iOS Полная поддержка ДаSamsung Internet Android Нет поддержки ? — 6.0
inactive eventChrome Полная поддержка 45Edge Полная поддержка ≤79Firefox ? IE Нет поддержки НетOpera ? Safari ? WebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Полная поддержка 5.0
label
Устаревшая
Chrome Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 45.
Edge ? Firefox ? IE Нет поддержки НетOpera Нет поддержки НетSafari ? WebView Android Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 45.
Chrome Android Нет поддержки ? — 54
Замечания
Нет поддержки ? — 54
Замечания
Замечания Deprecated in Chrome 45.
Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Нет поддержки ? — 6.0
Замечания
Нет поддержки ? — 6.0
Замечания
Замечания Deprecated in Samsung Internet 5.0.
onactiveChrome Полная поддержка 45Edge Полная поддержка ≤79Firefox ? IE Нет поддержки НетOpera ? Safari ? WebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Полная поддержка 5.0
onaddtrackChrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка 50IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Полная поддержка 50Opera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
oninactiveChrome Полная поддержка 45Edge Полная поддержка ≤79Firefox ? IE Нет поддержки НетOpera ? Safari ? WebView Android Полная поддержка 45Chrome Android Полная поддержка 45Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Полная поддержка 5.0
onremovetrackChrome Полная поддержка 26Edge Полная поддержка 12Firefox Нет поддержки НетIE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
removeTrackChrome Полная поддержка 26Edge Полная поддержка 12Firefox Полная поддержка ДаIE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 37Chrome Android Полная поддержка 26Firefox Android Полная поддержка ДаOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.5
removetrack eventChrome Полная поддержка ДаEdge Полная поддержка 12Firefox Нет поддержки НетIE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
stop
Устаревшая
Chrome Нет поддержки ? — 47Edge Нет поддержки 13 — 79Firefox ? IE Нет поддержки НетOpera Нет поддержки НетSafari ? WebView Android Нет поддержки ? — 47Chrome Android Нет поддержки ? — 47Firefox Android ? Opera Android Нет поддержки НетSafari iOS ? Samsung Internet Android Нет поддержки ? — 5.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Устаревшая. Не следует использовать в новых веб-сайтах
Устаревшая. Не следует использовать в новых веб-сайтах
Смотрите замечания реализации.
Смотрите замечания реализации.
Требует вендорный префикс или другое имя для использования.
Требует вендорный префикс или другое имя для использования.

Смотрите также