Gdy RTCPeerConnection
połączy się ze zdalnym peerem, będzie można:
przesyłać strumieniowo dźwięk i obraz między nimi. W tym miejscu łączymy
strumień, który dostajemy od getUserMedia()
do: RTCPeerConnection
. Plik multimedialny
strumień składa się z co najmniej jednej ścieżki multimedialnej, którą należy dodawać osobno.
do RTCPeerConnection
, gdy chcemy przesyłać multimedia do pilota
w porównaniu z innymi wydawcami.
const localStream = await getUserMedia({video: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
peerConnection.addTrack(track, localStream);
});
Trasy można dodawać do urządzenia RTCPeerConnection
, zanim połączy się ono z pilotem
dlatego warto przeprowadzić tę konfigurację jak najwcześniej.
oczekiwanie na zakończenie połączenia.
Dodawanie ścieżek zdalnych
Aby otrzymać ścieżki zdalne, które zostały dodane przez drugiego partnera, rejestrujemy
detektor w lokalnym module RTCPeerConnection
nasłuchujący zdarzenia track
.
RTCTrackEvent
zawiera tablicę MediaStream
obiektów o tym samym
MediaStream.id
jako odpowiednie strumienie lokalne partnera. W naszym
Na przykład każda ścieżka jest powiązana tylko z jednym strumieniem.
Pamiętaj, że chociaż identyfikatory MediaStream
są zgodne po obu stronach połączenia równorzędnego,
to samo zwykle nie dotyczy identyfikatorów MediaStreamTrack
.
const remoteVideo = document.querySelector('#remoteVideo');
peerConnection.addEventListener('track', async (event) => {
const [remoteStream] = event.streams;
remoteVideo.srcObject = remoteStream;
});