我正在使用 WebRTC 进行多视频会议。但是我发现当不同的人来到我的房间时,getUserMedia 会被调用。
是否有任何方法只能在 WebRTC 中以多连接开始时调用 getUsermedia 一次?
我正在使用 WebRTC 进行多视频会议。但是我发现当不同的人来到我的房间时,getUserMedia 会被调用。
是否有任何方法只能在 WebRTC 中以多连接开始时调用 getUsermedia 一次?
dontCaptureUserMedia=true
navigator.mediaDevices.getUserMedia
自己attachStreams
数组onstream
均匀或手动设置localVideo.srcObject=stream
例子:
// first step
connection.dontCaptureUserMedia = true;
// seocond step
navigator.mediaDevices.getUserMedia({
audio: true,
video: true
}).then(function(stream) {
// third step
stream.isVideo = true;
connection.attachStreams = [stream];
// fourth step
var video = document.createElement('video');
video.playsinline = true;
video.controls = true;
video.muted = true;
video.srcObject = stream;
connection.onstream({
stream: stream,
type: 'local',
streamid: stream.id,
mediaElement: video
});
// last step: now open or join a room
connection.openOrJoin('your-room-id');
});
这个怎么运作?
dontCaptureUserMedia
将忽略(绕过)任何本地 getUserMedia 调用attachStreams
数组将用于与远程方共享其余的代码是随意的。