次のようなユースケースがあります。
このユースケースでは、ビューア側で次のことが必要です。
var call = peer.call(presenterPeerID, null);
call.on('stream', function(theirWebcamStream) {
showWebcamStream(theirWebcamStream);
});
peer.call(presenterPeerID, null)
はundefined
$を返すため、これは機能しません。
MediaStreamを送信せずに電話をかけるにはどうすればよいですか?
この号を購読する
プレゼンターから視聴者への通話を開始し、通話でプレゼンターにメディアストリームを提供し、メディアストリームとしてnullを使用して通話に応答しようとしましたか?
私も同じことをしたいと思っています。 問題#158を参照してください
+1
空のストリームは、任意のトラック、またはその両方で作成できます。
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);
最も参考になるコメント
空のストリームは、任意のトラック、またはその両方で作成できます。