Невозможно получить доступ к мобильной камере и микрофону с помощью мобильного браузера в PWA (реагировать js) - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь получить доступ к камере и микрофону через мобильный браузер.Это не дает никаких всплывающих окон с просьбой разрешений для доступа к тому же.Но мы можем получить доступ к тому же на локальном хосте, используя the laptop's browser.

Я использую react js для этого.

То, что я пробовал, это

startCamera = () => {
    if (!('mediaDevices' in navigator)) {
      navigator.mediaDevices = {};
    }

    if (!('getUserMedia' in navigator.mediaDevices)) {
      navigator.mediaDevices.getUserMedia = function (constraints) {
        var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

        if (!getUserMedia) {
          return Promise.reject(new Error('getUserMedia is not implemented!'));
        }

        return new Promise(function (resolve, reject) {
          getUserMedia.call(navigator, constraints, resolve, reject);
        });
      }
    }
    navigator.mediaDevices.getUserMedia({
      video: { facingMode: 'user' },
      audio: true
    }).then((stream) => {
      console.log('recording started');
      return this.startRecording(stream)
    }).then(recordedChunks => {
      let recordedBlob = new Blob(recordedChunks, { type: "video/webm" });

      this.props.getVideoUploadLink(this.props.candidateScore[0].jdId, this.props.candidateScore[0].resumeId, recordedBlob);

      this.setState({ downloadUrl: URL.createObjectURL(recordedBlob) });
    })
      .catch(console.log);
  }

Итак, есть ли что-то еще, что мне нужно включить, чтобы получить доступ к разрешению черезмобильный браузер?.THANKS.

1 Ответ

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

Начиная с Chrome 48, вызовы getUserMedia игнорируются, если протокол не HTTPS.За исключением localhost, который все еще принимает небезопасный HTTP для целей разработки.

Если вы пытаетесь получить доступ с вашего мобильного телефона к ноутбуку, вам потребуется HTTPS.

Некоторые шаблоны, такие как Create ReactПриложение позволяет запускать сервер разработки с HTTPS:

HTTPS = true npm start

...