RTCPeerConnection
連線至遠端對等節點後,
還能在不同來源間串流影音這就是我們要將
我們從 getUserMedia()
接收到 RTCPeerConnection
的串流。媒體
串流至少包含一個媒體音軌,因此必須個別新增媒體
如果想將媒體傳送到遙控器,請連上 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
值做為對等互連的對應本機串流。在我們
例如,每個音軌都只與單一串流相關聯。
請注意,雖然 MediaStream
ID 與對等互連連線的兩端都相符,
MediaStreamTrack
ID 通常也是如此。
const remoteVideo = document.querySelector('#remoteVideo');
peerConnection.addEventListener('track', async (event) => {
const [remoteStream] = event.streams;
remoteVideo.srcObject = remoteStream;
});