MediaStream

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

Интерфейс 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

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

MediaStream.onremovetrack

Объект event handler, содержащий действие, которое должно выполняться, когда случается событие 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
Media Capture and Streams
# mediastream

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
MediaStream
MediaStream() constructor
active
active event
Non-standard
addTrack
addtrack event
clone
getAudioTracks
getTrackById
getTracks
getVideoTracks
id
inactive event
Non-standard
removeTrack
removetrack event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Non-standard. Check cross-browser support before using.
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.

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