Pierwsze kroki ze zdalnymi transmisjami

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;
});