Ich habe einen Anwendungsfall, wo:
Für diesen Anwendungsfall benötige ich für die Viewer-Seite:
var call = peer.call(presenterPeerID, null);
call.on('stream', function(theirWebcamStream) {
showWebcamStream(theirWebcamStream);
});
Das funktioniert nicht, weil peer.call(presenterPeerID, null)
undefined
$ zurückgibt.
Wie rufe ich an, ohne einen MediaStream zu senden?
Abonnieren Sie diese Ausgabe
Haben Sie versucht, den Anruf vom Moderator zum Zuschauer zu initiieren, den Mediastream des Moderators im Anruf bereitzustellen und den Anruf mit null als Mediastream zu beantworten?
Ich hoffe auch, das Gleiche zu tun. Siehe Ausgabe Nr. 158
+1
Sie können einen leeren Stream mit jeder Spur oder mit beiden erstellen:
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);
Hilfreichster Kommentar
Sie können einen leeren Stream mit jeder Spur oder mit beiden erstellen: