RTCPeerConnection: событие addstream
Устаревшее: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её всё ещё поддерживать, она может быть удалена из соответствующих веб-стандартов, удалена в процессе или оставаться только для совместимости. Избегайте её использования и, если возможно, обновите существующий код; см. таблицу совместимости внизу этой страницы, чтобы принять решение. Имейте в виду, что эта функция может перестать работать в любое время.
Нестандартная: Эта функция нестандартна и не входит в список стандартов. Не используйте её на производственных сайтах, обращённых к Вебу: она не будет работать для каждого пользователя. Также могут существовать значительные несовместимости между реализациями, и поведение может измениться в будущем.
Устаревшее событие addstream отправляется в RTCPeerConnection, когда к нему добавлен новый медиаконтент в виде объекта MediaStream.
Предупреждение: Это событие удалено из спецификации WebRTC. Вместо этого вы должны отслеживать событие track, которое отправляется для каждой добавленной медиадорожки в RTCPeerConnection.
Аналогично, вы можете отслеживать удаление потоков из соединения, отслеживая событие removestream.
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика событий.
addEventListener("addstream", (event) => {});
onaddstream = (event) => {};
Тип события
A MediaStreamEvent. Наследуется от Event.
Свойства события
Так как MediaStreamEvent является Event, это событие также реализует эти свойства.
-
MediaStreamEvent.streamТолько для чтения -
Содержит
MediaStream, содержащий поток, связанный с событием.
Примеры
В этом примере проверяется, поддерживает ли браузер пользователя событие track. Если поддерживает, устанавливается обработчик событий track; в противном случае устанавливается обработчик событий addstream . pc является RTCPeerConnection.
if (pc.addTrack !== undefined) {
pc.ontrack = (ev) => {
ev.streams.forEach((stream) => doAddStream(stream));
};
} else {
pc.onaddstream = (ev) => {
doAddStream(ev.stream);
};
}
Эта функция вызывает функцию doAddStream() один раз для каждого добавляемого потока в RTCPeerConnection, независимо от того, отправляет ли браузер событие addstream или track.
Вы также можете использовать метод addEventListener() для установки обработчика события:
pc.addEventListener("addstream", (ev) => doAddStream(ev.stream), false);
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
addstream_event |
24 | 15 | 22 | 15 | Нет | 25 | 24 | 14 | Нет | 1.5 | ≤37 |
См. также
© 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/addstream_event