как восстановить переговоры после замены камеры и микрофона? - PullRequest
1 голос
/ 28 марта 2019

Около месяца назад партнер Stackoverflow помог мне с большим вопросом, таким как замена камеры и микрофона во время конференции. На этот вопрос ответили по следующей ссылке:

Используя WebRTC, как выбрать микрофон и камеру?

После замены камеры и микрофона предыдущий поток мультимедиа остается активным. Поэтому другие участники конференции не могут каким-то образом получить новый поток, который у меня есть.

Я хотел бы знать, как пересмотреть этот новый поток, если это необходимо.

Библиотека, которую я использую для реализации webRTC в проекте, в настоящее время не используется "simplewebRTC".

Код, который я использую для смены устройств, полностью основан на том, что было достигнуто в моем предыдущем вопросе ...

1 Ответ

0 голосов
/ 29 марта 2019

Я не знаю о simpleWebRTC, но в обычном WebRTC пересмотр не требуется.

Просто используйте sender.replaceTrack () .Это асинхронный режим, поэтому переключать камеру и микрофон одновременно:

navigator.mediaDevices.getUserMedia(constraints) 
  .then(stream => {
    video.srcObject = stream;
    return Promise.all(stream.getTracks().map(track => {
      const sender = pc.getSenders().find((s => s.track.kind == track.kind);
      return sender.replaceTrack(track);
    }));
  })
  .catch(err => console.log(err));

Это должно немедленно привести к тому, что отправитель переключится на отправку мультимедиа с новой камеры и микрофона.Другая сторона не будет знать разницу.

...