Не отображается видео сразу при использовании WebRTC - PullRequest
1 голос
/ 19 сентября 2019

Мне было интересно, как лучше всего не отображать видео сразу после вызова getUserMedia(); с WebRTC.Похоже, что во многих руководствах вы немедленно отображаете видео, но для реальных случаев часто имеет смысл не показывать видео, пока пользователь не нажмет кнопку.

Я не уверен, как большинство приложений справляются с этим, но в настоящее времяЯ думаю, что, возможно, это можно сделать с помощью стилизации, не отображая элемент видео на странице до тех пор, пока пользователь не нажмет кнопку, но это будет означать, что поток будет технически включен, просто не будет отображаться на странице.,Итак, мне было интересно, был ли способ использовать JS для установки или доступа к потоку позже при нажатии кнопки.

При использовании getUserMedia(); кажется, что поток должен быть установлен и сохранен немедленно ( ниже приведен код из Google Code Lab ), поэтому я не уверен, что это невозможно.

// Local stream that will be reproduced on the video.
let localStream;

// Handles success by adding the MediaStream to the video element.
function gotLocalMediaStream(mediaStream) {
  localStream = mediaStream;
  localVideo.srcObject = mediaStream;
}

// Initializes media stream.
navigator.mediaDevices.getUserMedia(mediaStreamConstraints)
  .then(gotLocalMediaStream).catch(handleLocalMediaStreamError);
  
  

1 Ответ

1 голос
/ 19 сентября 2019

Просто не отображайте его.

Вы можете сохранить этот поток в своей переменной.Только не назначайте его как srcObject для элемента видео.

...