2017-01-12 45 views
7

Budujemy mobilny skaner kodów kreskowych za pomocą QuaggaJS, który odczytuje kody kreskowe bezpośrednio ze strumienia kamery urządzenia. Działa dobrze na komputerach/urządzeniach z Androidem, ale nie działa wcale w systemie iOS.Alternatywa dla getUserMedia() do odczytu strumienia kamery na żywo w systemie iOS?

Z początkowych badań wynika, że ​​iOS po prostu nie obsługuje przeglądarki WebRTC/getUserMedia w przeglądarce Safari lub iOS Chrome (powiązane łącza poniżej), a właśnie tego QuaggaJS używa do odczytu strumienia kamery.

Widziałem także this question o przechwytywaniu nieruchomego obrazu na iOS, ale dostarczona odpowiedź jest przeznaczona tylko do przechwytywania nieruchomych obrazów, a nie do odczytywania strumienia w czasie rzeczywistym.

Moje pytanie - czy istnieje inny sposób na pobranie strumienia z aparatu iOS? Być może alternatywna biblioteka inna niż QuaggaJS, która nie używa getUserMedia? Nie znam się dobrze na JavaScript, więc nie jestem pewien, czy istnieje nawet możliwy sposób uzyskania dostępu do strumienia kamery innego niż getUserMedia.

"Nie" jest tu akceptowalną odpowiedzią; Po prostu szukam kogoś bardziej doświadczonego w prowadzeniu poradnictwa.


Dodatek/powiązane linki:

navigator.getUserMedia alternative API for iOS safari mobile browser?

https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari

https://bloggeek.me/webrtc-apple-or-microsoft/

HTML5: getUserMedia iOS issue?

Odpowiedz

5

Strona quaggaJS posiada funkcję compati Matryca ność, która odpowiada na pytanie:

enter image description here

getUserMedia nie jest obsługiwany na iOS Safari.

Zgodnie z dokumentacją quaggaJS (https://github.com/serratus/quaggaJS#browser-support)

Quagga korzysta z wielu nowoczesnych Web-API, które nie zostały wdrożone przez wszystkich przeglądarek jeszcze. Istnieją dwa tryby, w których Quagga działa:

  1. analizujące obrazy statyczne i

  2. przy użyciu aparatu do dekodowania obrazów z live-stream. Ta ostatnia wymaga obecności API MediaDevices. Możesz śledzić zgodność stosowanych Web-API dla każdego z trybów:

    • statyczne obrazy
    • żywo

Sugerowałbym, że używasz trybu statycznego obrazu na iOS jako żywo tryb stream nie jest obsługiwany.

+0

iOS bez aktualizacji, iphone bez użycia przeglądarki z rosnącą aplikacją. Android doign doskonale świetna robota. –

+0

Nie dostałem ci – manishg

+0

Mam na myśli, że iPhone jest kiepski dla getusermedia. –

11

2017 aktualizacja: Jabłko właśnie ogłosił, że ostatecznie będzie getUserMedia być obsługiwane w iOS11.

+0

Jednak [TYLKO działa w Safari, a nie w WebView jakiegokolwiek rodzaju] (https://stackoverflow.com/a/46717491/1724045). Nie przechodź przez większą część implementacji tylko po to, aby zerwać cały projekt, tak jak ja! – Klathmon