RTCPeerConnection
がリモートピアに接続されると、それらの間でオーディオとビデオをストリーミングすることが可能になります。これは、 getUserMedia()
から受信したストリームをgetUserMedia()
接続するポイントRTCPeerConnection
。メディアストリームは少なくとも1つのメディアトラックで構成され、メディアをリモートピアに送信するときに、これらは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
イベントをリッスンしているローカルRTCPeerConnection
リスナーを登録します。再生はMediaStream
オブジェクトで行われるため、最初に空のインスタンスを作成し、それを受信すると、リモートピアからトラックを入力します。
const remoteStream = MediaStream();
const remoteVideo = document.querySelector('#remoteVideo');
remoteVideo.srcObject = remoteStream;
peerConnection.addEventListener('track', async (event) => {
remoteStream.addTrack(event.track, remoteStream);
});