ברגע RTCPeerConnection
לעמית מרוחק, אפשר להזרים אודיו ווידאו ביניהם. זו הנקודה בה אנו מחברים את הזרם שאנו מקבלים מ- getUserMedia()
ל- RTCPeerConnection
. זרם מדיה מורכב ממסלול מדיה אחד לפחות, ואלה מתווספים בנפרד ל- RTCPeerConnection
כאשר אנו רוצים להעביר את המדיה לעמית המרוחק.
const localStream = await getUserMedia({vide: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
peerConnection.addTrack(track, localStream);
});
ניתן להוסיף מסלולים ל- RTCPeerConnection
לפני שהוא התחבר לעמית מרוחק, ולכן הגיוני לבצע התקנה זו מוקדם ככל האפשר במקום לחכות להשלמת החיבור.
הוספת מסלולים מרוחקים
כדי לקבל את הרצועות המרוחקות שנוספו על ידי העמית האחר, אנו רושמים מאזין ל- RTCPeerConnection
המקומי המאזין לאירוע track
. מאחר שההפעלה מתבצעת על אובייקט MediaStream
, ראשית אנו יוצרים מופע ריק שאנו מאכלס עם הרצועות מהעמית המרוחק עם קבלתם.
const remoteStream = MediaStream();
const remoteVideo = document.querySelector('#remoteVideo');
remoteVideo.srcObject = remoteStream;
peerConnection.addEventListener('track', async (event) => {
remoteStream.addTrack(event.track, remoteStream);
});