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 |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Использование интерфейса MediaStream
- WebRTC API
- Web Audio API
MediaStreamTrack