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