Камера не работает на iOS, ошибка в getUserMedia - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь понять, и я почти уверен, что проблема не в том, что она говорит мне.

Я создаю PWA с помощью Vue.js.Когда я запускаю камеру, она не работает на iOS (v11 +).Я перепробовал множество вариантов, но понятия не имею, что происходит и как правильно отлаживать скомпилированный код в инструменте Safari Developer (точки останова просто не будут работать).

Вот код:

async init () {

    // Media Device settings
    const constraints = {
      audio: false,
      video: {
        facingMode: (this.camera.mode === 'front') ? 'user' : { exact: 'environment' },
        width: this.camera.size.width,
        height: this.camera.size.height
      }
    }

    try {
      const stream = await navigator.mediaDevices.getUserMedia(constraints)
      this.tracks = stream.getVideoTracks()
      this.video.srcObject = stream

      // Toggle the camera state
      this.toggleCamera(true)

      // Check for realtime validation
      if (this.realtime) {
        this.validatePhotoRealtime()
      }
    } catch (e) {
      this.handleErrorMessage(`getUserMedia error: ${e.name}`, e)
    }
  }

И вот что я получаю в окне консоли:

Trying to call getUserMedia from an insecure document.

enter image description here

Любая идея, как отладить этоошибка?

==== ОБНОВЛЕНИЕ ====

При разработке на локальном хосте и отсутствии https для среды разработки, выполните yarn server и подключитесь к обслуживаемомуIP по сети

enter image description here

Я включил опцию для WebRTC: enter image description here

Но этоне помогает.

1 Ответ

0 голосов
/ 03 октября 2018

К сожалению, доза яблока не позволяет использовать WebRTC при использовании вашего приложения в качестве PWA.Взгляните на эту ссылку.

getUserMedia () в PWA на iOS 11.3.1

https://github.com/webrtc/samples/issues/933

...