Uzak yayınları kullanmaya başlama

Bir RTCPeerConnection uzak bir eşe bağlandıktan sonra, aralarında ses ve video aktarımı yapılabilir. Bu noktada, getUserMedia()'ten aldığımız yayını RTCPeerConnection'a bağlarız. Medya akışı en az bir medya kanalından oluşur ve medyayı uzaktaki eşe aktarmak istediğimizde bunlar RTCPeerConnection'e tek tek eklenir.

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

Parçalar, uzak bir eşe bağlanmadan önce RTCPeerConnection'e eklenebilir. Bu nedenle, bağlantının tamamlanmasını beklemek yerine bu kurulumu mümkün olduğunca erken yapmak mantıklıdır.

Uzaktan parça ekleme

Diğer eş tarafından eklenen uzak parçaları almak için yerel RTCPeerConnection üzerinde track etkinliğini dinleyen bir dinleyici kaydederiz. RTCTrackEvent, eşlemenin karşılık gelen yerel akışlarıyla aynı MediaStream.id değerlerine sahip bir MediaStream nesnesi dizisi içerir. Örneğimizde her kanal yalnızca tek bir akışla ilişkilendirilmiştir.

MediaStream kimlikleri eş eş bağlantısının her iki tarafında da eşleşse de MediaStreamTrack kimlikleri için genellikle aynı durumun geçerli olmadığını unutmayın.

const remoteVideo = document.querySelector('#remoteVideo');

peerConnection.addEventListener('track', async (event) => {
    const [remoteStream] = event.streams;
    remoteVideo.srcObject = remoteStream;
});