RTCPeerConnection
がリモートピアに接続すると、次のことが可能になります。
両者間で音声と動画をストリーミングできます。これが Pod の
getUserMedia()
から RTCPeerConnection
に送信されます。メディア
ストリームは少なくとも 1 つのメディア トラックで構成され、個別に追加される
メディアをリモコンに送信するときに RTCPeerConnection
に送信します。
使用します。
const localStream = await getUserMedia({video: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
peerConnection.addTrack(track, localStream);
});
トラックはリモコンに接続する前に RTCPeerConnection
に追加できます
そのため、テストを実行するのではなく、できるだけ早い段階でこの設定を行うのが合理的です。
接続が完了するのを待つ必要はありません。
リモート トラックの追加
他のピアによって追加されたリモート トラックを受信するには、
track
イベントをリッスンするローカルの RTCPeerConnection
のリスナー。「
RTCTrackEvent
には、同じ値を持つ MediaStream
オブジェクトの配列が格納されます。
MediaStream.id
値を、ピアの対応するローカル ストリームとして指定します。Google の
たとえば、各トラックは 1 つのストリームにのみ関連付けられます。
MediaStream
ID はピア接続の両側で一致しますが、
一般に MediaStreamTrack
ID には当てはまりません。
const remoteVideo = document.querySelector('#remoteVideo');
peerConnection.addEventListener('track', async (event) => {
const [remoteStream] = event.streams;
remoteVideo.srcObject = remoteStream;
});