Saya memiliki kasus penggunaan di mana:
Untuk kasus penggunaan ini saya perlu, untuk sisi Viewer:
var call = peer.call(presenterPeerID, null);
call.on('stream', function(theirWebcamStream) {
showWebcamStream(theirWebcamStream);
});
Ini tidak berhasil, karena peer.call(presenterPeerID, null)
mengembalikan undefined
.
Bagaimana cara menelepon tanpa mengirim MediaStream?
Berlangganan edisi ini
Sudahkah Anda mencoba memulai panggilan dari presenter ke penonton, menyediakan mediastream presenter dalam panggilan dan menjawab panggilan dengan null sebagai mediastream?
Saya juga berharap melakukan hal yang sama. Lihat edisi #158
+1
Anda dapat membuat aliran kosong dengan trek apa pun, atau dengan keduanya:
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);
Komentar yang paling membantu
Anda dapat membuat aliran kosong dengan trek apa pun, atau dengan keduanya: