Альтернатива getUserMedia () для чтения потока живой камеры на iOS?
мы строим мобильный сканер штрих-кодов с помощью QuaggaJS, который считывает штрих-коды непосредственно из потока камеры устройства. Отлично работает на рабочем столе / Android, но не работает вообще на iOS.
из первоначального исследования я обнаружил, что iOS просто не поддерживает WebRTC/getUserMedia
через Safari или iOS Chrome (связанные ссылки ниже), что QuaggaJS использует для чтения потока камеры.
Я тоже видел этот вопрос о захвате неподвижного изображения на iOS, но ответ предоставляется только для захвата неподвижного изображения, а не для чтения потока в режиме реального времени.
у меня вопрос - есть ли другой способ захватить поток с камеры iOS? Возможно, альтернативная библиотека, отличная от QuaggaJS, которая не использует getUserMedia
? Я не очень хорошо разбираюсь в Javascript, поэтому я не уверен, что есть даже возможный способ доступа к потоку камеры, кроме getUserMedia
.
"нет" является приемлемым ответом здесь; я просто ищу кого-то более опытного, чтобы дать указания.
приложение / ссылки по теме:
навигатор.getUserMedia альтернативный API для iOS safari мобильный браузер?
https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari
2 ответов
обновление 2017: Apple только что объявила, что getUserMedia, наконец, будет поддерживаться в iOS11.
страница quaggaJS имеет матрицу совместимости функций, которая отвечает на ваш вопрос:
getusermedia не поддерживается в iOS safari.
согласно документации quaggaJS (https://github.com/serratus/quaggaJS#browser-support)
Quagga использует многие современные веб-API, которые еще не реализованы всеми браузерами. Существует два режима работы Quagga:
анализ статических изображений и
-
использование камеры для декодирования изображений из Живого Потока. Последнее требует наличия API MediaDevices. Вы можете отслеживать совместимость используемых Web-API для каждого режима:
- Статичные Картинки
- В Прямом Эфире
Я бы предложил вам использовать статический режим изображения на iOS, поскольку режим live stream не поддерживается.