Una vez que un RTCPeerConnection
se conecta a un par remoto, es posible
transmitir audio y video entre ellas. Este es el punto en el que conectamos el
que recibimos de getUserMedia()
a RTCPeerConnection
. Un elemento multimedia
incluye al menos una pista multimedia que se agrega individualmente
a RTCPeerConnection
cuando queremos transmitir el contenido multimedia al control remoto.
intercambio de tráfico.
const localStream = await getUserMedia({video: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
peerConnection.addTrack(track, localStream);
});
Puedes agregar pistas a un RTCPeerConnection
antes de que se conecte a un control remoto.
por lo que tiene sentido realizar esta configuración lo antes posible en lugar de
a que se complete la conexión.
Agregar pistas remotas
Para recibir las pistas remotas que agregó el otro par, registramos un
en el objeto RTCPeerConnection
local que escucha el evento track
. El
RTCTrackEvent
contiene un array de objetos MediaStream
que tienen la misma
MediaStream.id
como las transmisiones locales correspondientes del intercambio de tráfico. En nuestra
Por ejemplo, cada pista está asociada con una única transmisión.
Ten en cuenta que, si bien los IDs de MediaStream
coinciden en ambos lados de la conexión de intercambio de tráfico,
Por lo general, no sucede lo mismo con los IDs de MediaStreamTrack
.
const remoteVideo = document.querySelector('#remoteVideo');
peerConnection.addEventListener('track', async (event) => {
const [remoteStream] = event.streams;
remoteVideo.srcObject = remoteStream;
});