Uzak yayınları kullanmaya başlama

RTCPeerConnection, uzak bir benzere bağlandığında aralarında ses ve video akışı yapılabilir. Bu aşamada, getUserMedia() tarafından aldığımız akışı RTCPeerConnection ile birleştiririz. Medya akışı, en az bir medya kanalından oluşur ve medyayı uzaklar arasına aktarmak istediğimizde bunlar RTCPeerConnection öğesine tek tek eklenir.

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

RTCPeerConnection bir uzaktan kumandaya bağlanmadan önce parçalar eklenebilir. Bu nedenle, bağlantının tamamlanmasını beklemek yerine bu kurulumu mümkün olduğunca erken gerçekleştirmeniz önerilir.

Uzaktan parça ekleme

Diğer eş tarafından eklenen uzak parçaları almak için yerel RTCPeerConnection üzerinde track etkinliğini dinleyen bir işleyici kaydederiz. RTCTrackEvent, benzerin yerel akışlarıyla aynı MediaStream.id değerlerine sahip olan MediaStream nesnelerinden oluşan bir dizi içerir. Örneğimizde her kanal yalnızca tek bir akışla ilişkilendirilir.

MediaStream kimliklerinin eşler arası bağlantının her iki tarafıyla da eşleştiğini ancak MediaStreamTrack kimlikleri için genellikle aynının geçerli olmadığını unutmayın.

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

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