web-dev-qa-db-fra.com

Alternative à getUserMedia () pour lire le flux de caméra en direct sur iOS?

Nous construisons un lecteur de codes-barres mobile à l'aide de QuaggaJS qui lit les codes-barres directement à partir du flux de caméra de l'appareil. Fonctionne bien sur le bureau/Android, mais ne fonctionne pas du tout sur iOS.

D'après les recherches initiales, j'ai découvert qu'iOS ne prend tout simplement pas en charge WebRTC/getUserMedia via Safari ou iOS Chrome (liens connexes ci-dessous), ce que QuaggaJS utilise pour lire le flux de caméra.

J'ai également vu cette question sur la capture d'une image fixe sur iOS, mais la réponse fournie ne concerne que la capture d'une image fixe, pas la lecture du flux en temps réel.

Ma question - existe-t-il un autre moyen de récupérer le flux d'une caméra iOS? Peut-être une autre bibliothèque que QuaggaJS qui n'utilise pas getUserMedia? Je ne connais pas bien Javascript, donc je ne sais pas s'il existe même un moyen possible d'accéder au flux de la caméra autre que getUserMedia.

Un "non" est une réponse acceptable ici; Je cherche simplement quelqu'un de plus expérimenté pour me guider.


Annexe/liens connexes:

navigator.getUserMedia alternative API pour le navigateur mobile iOS safari?

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

https://bloggeek.me/webrtc-Apple-or-Microsoft/

HTML5: problème iOS avec getUserMedia?

12
Brian Mansfield

Mise à jour 2017 : Apple vient d'annoncer que getUserMedia sera enfin pris en charge dans iOS11.

Mise à jour d'août 2019 : fonctionne UNIQUEMENT dans Safari, pas dans une WebView d'aucune sorte. Merci @Klathmon pour le commentaire.

11
wildpeaks

La page quaggaJS possède une matrice de compatibilité des fonctionnalités qui répond à votre question:

enter image description here

getusermedia n'est pas pris en charge sur iOS safari.

Selon la documentation quaggaJS ( https://github.com/serratus/quaggaJS#browser-support )

Quagga utilise de nombreuses API Web modernes qui ne sont pas encore implémentées par tous les navigateurs. Il existe deux modes de fonctionnement de Quagga:

  1. l'analyse d'images statiques et

  2. à l'aide d'une caméra pour décoder les images d'un flux en direct. Ce dernier nécessite la présence de l'API MediaDevices. Vous pouvez suivre la compatibilité des API Web utilisées pour chaque mode:

    • Images statiques
    • Direct

Je suggère que vous utilisiez le mode d'image statique sur iOS car le mode de diffusion en direct n'est pas pris en charge.

5
manishg