RTCPeerConnection: событие track
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Событие track отправляется обработчику событий ontrack на RTCPeerConnection после добавления нового трека в RTCRtpReceiver, который является частью соединения.
К моменту доставки этого события новый трек полностью добавлен в соединение peer. Подробности см. в разделе Типы событий трека.
Это событие не может быть отменено и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("track", (event) => {});
ontrack = (event) => {};
Тип события
Объект RTCTrackEvent. Наследуется от Event.
Свойства события
Поскольку RTCTrackEvent основано на Event, его свойства также доступны.
-
receiverТолько для чтения -
Используемый
RTCRtpReceiverтрек, добавленный вRTCPeerConnection. -
streamsТолько для чтения Необязательно -
Массив объектов
MediaStream, каждый из которых представляет один из потоков мультимедиа, к которому принадлежит добавленныйtrack. По умолчанию массив пустой, что указывает на бес-потоковый трек. -
trackТолько для чтения -
Добавленный в соединение
MediaStreamTrack. -
transceiverТолько для чтения -
Используемый
RTCRtpTransceiverновый трек.
Примеры
В этом примере показан код, который создает новый RTCPeerConnection, затем добавляет новый обработчик события track.
pc = new RTCPeerConnection({
iceServers: [
{
urls: "turn:fake.turn-server.url",
username: "some username",
credential: "some-password",
},
],
});
pc.addEventListener(
"track",
(e) => {
videoElement.srcObject = e.streams[0];
hangupButton.disabled = false;
},
false,
);
Обработчик события назначает первый поток нового трека существующему элементу <video>, идентифицированному с помощью переменной videoElement.
Вы также можете назначить функцию обработчика события свойству ontrack вместо использования addEventListener().
pc.ontrack = (e) => {
videoElement.srcObject = e.streams[0];
hangupButton.disabled = false;
return false;
};
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
track_event |
64 | 79 | 22 | 43 | 11 | 64 | 24 | 43 | 11 | 6.0 | 64 |
© 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/RTCPeerConnection/track_event