Uzak yayınları kullanmaya başlama

RTCPeerConnection, uzaktaki bir eşe bağlandıktan sonra, ses ve görüntü akışı gerçekleştirebilirsiniz. Bu noktada verilerimizi getUserMedia() ile RTCPeerConnection arasındaki akış. Medya Akış en az bir medya parçasından oluşur ve bunlar ayrı ayrı eklenir Medyayı uzaktan kumandaya aktarmak istediğimizde RTCPeerConnection empatiyle yaklaşır.

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

Parçalar, uzaktan kumandaya bağlanmadan önce RTCPeerConnection cihazına eklenebilir bu yüzden bu kurulumu bir sonraki aşamaya geçiş yerine mümkün olduğunca erken bağlantının tamamlanmasını bekliyorsunuz.

Uzak parçalar ekleniyor

Diğer eş tarafından eklenen uzak parçaları almak için bir dinleyicisi, RTCPeerConnection track etkinliğini dinledi. İlgili içeriği oluşturmak için kullanılan RTCTrackEvent, aynı boyuta sahip MediaStream nesneden oluşan bir dizi içeriyor Benzerlerin karşılık gelen yerel akışları olarak MediaStream.id değerleri. Şurada: her parça yalnızca tek bir akışla ilişkilendirilir.

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

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

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