Google 致力于为黑人社区推动种族平等。查看具体行动
此页面由 Cloud Translation API 翻译。
Switch to English

远程流入门

一旦将RTCPeerConnection连接到远程对等方,便可以在它们之间流式传输音频和视频。这是我们将从getUserMedia()收到的RTCPeerConnection 。媒体流至少包含一个媒体轨道,当我们要将媒体传输到远程对等RTCPeerConnection时, 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之前将其添加到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);
});