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