iPad iOS Safari getUserMedia подключается к определенной камере (спереди или сзади) - PullRequest
0 голосов
/ 12 июня 2018

Какой правильный способ доступа к передней или задней камере.

В настоящее время я могу получить доступ только к "пользовательской" камере (спереди).

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

Использование определенного идентификатора устройства также не работает:

var constraints = {
    video: {
        facingMode: "environment",
        deviceId: "E858F78F6026428D45DD669617B4A881409AA4DA"
    }
};

navigator.mediaDevices.getUserMedia(constraints).

Может кто-нибудь, пожалуйста, помогите мне?

Он всегда получает доступ кфронтальная камера.

1 Ответ

0 голосов
/ 13 июня 2018

После вашего вопроса, я думаю, вы уже успешно позвонили getUserMedia(), чтобы получить разрешение пользователя на доступ к камере (иначе у вас не будет работать фронтальная камера).Это необходимо, потому что значения label в следующем JSON будут заполняться только тогда, когда пользователь уже предоставил доступ.

В iOS теперь вам нужно вызвать navigator.mediaDevices.enumerateDevices() и получить ответ «JSON», какчто:

[
  {  
    "deviceId":"<firstID>",
    "kind":"audioinput",
    "label":"iPhone Microphone",
    "groupId":""
  },
  {  
    "deviceId":"<secondID>",
    "kind":"videoinput",
    "label":"Back Camera",
    "groupId":""
  },
  {  
    "deviceId":"<thirdID>",
    "kind":"videoinput",
    "label":"Front Camera",
    "groupId":""
  }
]

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

Внимание: Значения deviceId будут меняться при каждом вызове enumerateDevices()!

...