0

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

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

4

1 回答 1

1
  1. dontCaptureUserMedia=true
  2. 调用navigator.mediaDevices.getUserMedia自己
  3. 将流推送到attachStreams数组
  4. 火力onstream均匀或手动设置localVideo.srcObject=stream
  5. 打开或加入房间

例子:

// 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');
});

这个怎么运作?

  1. dontCaptureUserMedia将忽略(绕过)任何本地 getUserMedia 调用
  2. attachStreams数组将用于与远程方共享

其余的代码是随意的。

于 2018-10-11T04:38:17.703 回答