RTCTrackEvent
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Интерфейс API WebRTC RTCTrackEvent представляет событие track, которое отправляется при добавлении нового MediaStreamTrack к RTCRtpReceiver, который является частью RTCPeerConnection.
Целью является объект RTCPeerConnection, к которому добавляется траектория.
Это событие отправляется слоем WebRTC на веб-сайт или приложение, поэтому обычно вам не нужно создавать RTCTrackEvent самостоятельно.
Конструктор
RTCTrackEvent()-
Создает и возвращает новый объект
RTCTrackEvent. Вам, вероятно, не нужно создавать новые события отслеживания самостоятельно, так как они обычно создаются инфраструктурой WebRTC и отправляются обработчику событияontrackсоединения.
Свойства экземпляра
Поскольку RTCTrackEvent основано на Event, его свойства также доступны.
-
receiverТолько для чтения -
RTCRtpReceiver, используемый траекторией, которая была добавлена кRTCPeerConnection. -
streamsТолько для чтения Необязательно -
Массив объектов
MediaStream, каждый из которых представляет одно из потоков медиа, к которому принадлежит добавленнаяtrack. По умолчанию массив пуст, указывая на отсутствие потока. -
trackТолько для чтения -
MediaStreamTrack, который был добавлен к соединению. -
transceiverТолько для чтения -
RTCRtpTransceiver, используемый новой траекторией.
Типы событий отслеживания
Существует только один тип события отслеживания.
track
Событие track отправляется в RTCPeerConnection при добавлении новой траектории к соединению. К моменту доставки события track в обработчик события ontrack RTCPeerConnection, новая медиа завершила переговоры для определенного RTCRtpReceiver (который указан свойством receiver события).
Кроме того, MediaStreamTrack, указанный в свойстве track получателя, совпадает с track события, и траектория была добавлена к любым связанным удалённым объектам MediaStream.
Вы можете добавить обработчик события track, чтобы быть уведомлённым о доступности новой траектории, чтобы, например, прикрепить её медиа к элементу <video> с помощью RTCPeerConnection.addEventListener() или свойства обработчика события ontrack.
Примечание: Возможно, полезно помнить, что вы получаете событие track при добавлении новой входящей траектории к вашему соединению, и вызываете addTrack() для добавления траектории в дальний конец соединения, тем самым вызывая событие track на удалённом узле.
Пример
В этом простом примере создаётся обработчик события track, который устанавливает srcObject элемента <video> с ID video-box на первый поток в списке, переданном в массиве streams события.
peerConnection.addEventListener(
"track",
(e) => {
let videoElement = document.getElementById("video-box");
videoElement.srcObject = e.streams[0];
},
false,
);
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
RTCTrackEvent |
64 | 79 | 46 | 51 | 11 | 64 | 46 | 47 | 11 | 9.0 | 64 |
RTCTrackEvent |
56 | 79 | 22 | 43 | 11 | 56 | 24 | 43 | 11 | 6.0 | 56 |
receiver |
56 | 79 | 34 | 43 | 11 | 56 | 34 | 43 | 11 | 6.0 | 56 |
streams |
56 | 79 | 22 | 43 | 11 | 56 | 24 | 43 | 11 | 6.0 | 56 |
track |
56 | 79 | 22 | 43 | 11 | 56 | 24 | 43 | 11 | 6.0 | 56 |
transceiver |
69 | 79 | 59 | 43 | 11 | 69 | 59 | 43 | 11 | 6.0 | 69 |
© 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/RTCTrackEvent