如何在WebRTC中使用getUsermedia一次进行多连接

如何在WebRTC中使用getUsermedia一次进行多连接,webrtc,getusermedia,rtcmulticonnection,Webrtc,Getusermedia,Rtcmulticonnection,我正在使用WebRTC制作多视频会议。 但我发现,当不同的人来到我的房间时,会调用getUserMedia 在WebRTC中,是否有任何方法只能在多连接开始时调用getUsermedia一次 设置dontCaptureUserMedia=true 自己调用navigator.mediaDevices.getUserMedia 将流推送到attachStreams阵列 甚至在流中激发或手动设置localVideo.srcboom=stream 打开或加入一个房间 例如: 它是如何工作的 dontC

我正在使用WebRTC制作多视频会议。 但我发现,当不同的人来到我的房间时,会调用getUserMedia

在WebRTC中,是否有任何方法只能在多连接开始时调用getUsermedia一次

设置dontCaptureUserMedia=true 自己调用navigator.mediaDevices.getUserMedia 将流推送到attachStreams阵列 甚至在流中激发或手动设置localVideo.srcboom=stream 打开或加入一个房间 例如:

它是如何工作的

dontCaptureUserMedia将忽略绕过任何本地getUserMedia调用 attachStreams阵列将用于与远程方共享
代码的其余部分是随意的。

此方法适用于RTC多连接。>我只使用本机WebRTC,因此找不到用于推送getusermedia流的附件流。对于基于javascript的RTPeerConnection本机应用程序,可以使用以下内容:stream.getTracks.forEachfunctiontrack{nativePeer.addTracktrack,stream;};i、 e.您可以使用addTrack,强烈推荐使用addStream。
// 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');
});