Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Начало работы с удаленными потоками

Как только RTCPeerConnection подключен к удаленному одноранговому RTCPeerConnection , становится возможной потоковая RTCPeerConnection аудио и видео между ними. Это точка, где мы подключаем поток, который получаем от getUserMedia() к RTCPeerConnection . RTCPeerConnection состоит как минимум из одной RTCPeerConnection , и они индивидуально добавляются в RTCPeerConnection когда мы хотим передать мультимедиа удаленному узлу.

 const localStream = await getUserMedia({vide: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
    peerConnection.addTrack(track, localStream);
});
 

Треки могут быть добавлены в RTCPeerConnection до того, как он подключится к удаленному RTCPeerConnection , поэтому имеет смысл выполнить эту настройку как можно раньше, вместо того, чтобы ждать завершения соединения.

Добавление удаленных треков

Чтобы получить удаленные треки, которые были добавлены другим RTCPeerConnection , мы регистрируем прослушиватель в локальном RTCPeerConnection прослушивает событие track . Поскольку воспроизведение выполняется на объекте MediaStream , мы сначала создаем пустой экземпляр, который затем заполняем дорожками с удаленного узла, когда мы их получаем.

 const remoteStream = MediaStream();
const remoteVideo = document.querySelector('#remoteVideo');
remoteVideo.srcObject = remoteStream;

peerConnection.addEventListener('track', async (event) => {
    remoteStream.addTrack(event.track, remoteStream);
});