Tengo un caso de uso donde:
Para este caso de uso, necesito, para el lado del Visor:
var call = peer.call(presenterPeerID, null);
call.on('stream', function(theirWebcamStream) {
showWebcamStream(theirWebcamStream);
});
Esto no funciona, porque peer.call(presenterPeerID, null)
devuelve undefined
.
¿Cómo llamo sin enviar un MediaStream?
Suscríbete a este número
¿Ha intentado iniciar la llamada del presentador al espectador, proporcionando a los presentadores el flujo de medios en la llamada y respondiendo la llamada con nulo como flujo de medios?
Yo también espero hacer lo mismo. Ver edición #158
+1
Puede crear una secuencia vacía con cualquier pista o con ambas:
export const createEmptyAudioTrack = () => {
const ctx = new AudioContext();
const oscillator = ctx.createOscillator();
const dst = oscillator.connect(ctx.createMediaStreamDestination());
oscillator.start();
const track = dst.stream.getAudioTracks()[0];
return Object.assign(track, { enabled: false });
};
export const createEmptyVideoTrack = ({ width, height }) => {
const canvas = Object.assign(document.createElement('canvas'), { width, height });
canvas.getContext('2d').fillRect(0, 0, width, height);
const stream = canvas.captureStream();
const track = stream.getVideoTracks()[0];
return Object.assign(track, { enabled: false });
};
...
const audioTrack = createEmptyAudioTrack();
const videoTrack = createEmptyVideoTrack({ width:640, height:480 });
const mediaStream = new MediaStream([audioTrack, videoTrack]);
peer.call('id', mediaStream);
Comentario más útil
Puede crear una secuencia vacía con cualquier pista o con ambas: