開始使用遠端串流

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