Можно ли обнаружить камеру браузера, не спрашивая разрешения пользователя? - PullRequest
0 голосов
/ 05 мая 2018

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

У меня есть страница продукта электронной коммерции, и на этой странице у меня есть кнопка, которая позволяет кому-либо просматривать изображение продукта, накладываемое на его камеру, чтобы увидеть продукт в своей среде (представьте себе дополненную реальность, но не в трехмерном пространстве). ).

То, что я хотел бы сделать, это определить, есть ли у пользователя возможности камеры, прежде чем я покажу кнопку «поддельному AR viewer». Я использовал navigator.mediaDevices.getUserMedia, но он запрашивает у пользователя разрешение на использование камеры, что, когда вы впервые попадаете на страницу, несколько неприятно: «Почему сайт электронной коммерции запрашивает мою камеру?»

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

1 Ответ

0 голосов
/ 05 мая 2018

Используйте API navigator.mediaDevices.enumerateDevices (). Грубо говоря:

navigator.mediaDevices.enumerateDevices()
.then(devices => {
  devices.forEach(device => {
    if (device.kind === 'videoinput') {
      console.log('found camera');
    }
  })
})
...