J'ai un cas d'utilisation où:
Pour ce cas d'utilisation, j'ai besoin, pour le côté spectateur :
var call = peer.call(presenterPeerID, null);
call.on('stream', function(theirWebcamStream) {
showWebcamStream(theirWebcamStream);
});
Cela ne fonctionne pas, car peer.call(presenterPeerID, null)
renvoie undefined
.
Comment appeler sans envoyer de MediaStream ?
Abonnez-vous à ce numéro
Avez-vous essayé d'initier l'appel du présentateur au spectateur, en fournissant le mediastream aux présentateurs dans l'appel et en répondant à l'appel avec null comme mediastream ?
J'espère aussi faire la même chose. Voir numéro 158
+1
Vous pouvez créer un flux vide avec n'importe quelle piste, ou avec les deux :
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);
Commentaire le plus utile
Vous pouvez créer un flux vide avec n'importe quelle piste, ou avec les deux :