2013-11-26 21 views
10

Ho creato una semplice applicazione mobile che mostra la telecamera e decodifica QRCodes con https://github.com/LazarSoft/jsqrcodeHTML5 getUserMedia obiettivo Messa a fuoco

Perché la mia macchina fotografica è sfocata, questo funziona per grandi QRCodes. C'è un modo per mettere a fuoco la fotocamera con Javascript? Quindi questo funziona anche per immagini più piccole o c'è un'altra soluzione?

EDIT ho notato che se uso l'App Android (invece della versione HTML5), in grado di gestire molto più differenza di colore e può eseguire la scansione i miei codici, mentre jsqrcode non può. Sto usando la libreria sbagliata?

Utilizzando ZXING

Il mio codice di lavoro:

public void scan() { 
    IntentIntegrator integrator = new IntentIntegrator(this); 
    integrator.initiateScan(); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    // On Scan result we get get to this part 
    try { 
      IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); 
      if (scanResult != null) { 
      // CODE 

      } 
    } catch (UnsupportedEncodingException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

anche necessario per aggiungere il pacchetto di importazione com.google.zxing.integration.android al mio progetto.

+0

Sei arrivato da qualche parte con questo? Sto provando ad accedere alla telecamera posteriore con il comando 'ambiente', tuttavia, come suggerisci, non si concentrerà e non è utile per la scansione? – andybarnes

+0

Finora ho scoperto che non è possibile. Attualmente sto usando l'app XZing Scan (ci sono più demo su internet) e apro l'APP dalla mia app e la faccio scansionare. Quell'app ha una piena scansione di positività. – Niels

+0

Grazie per quello, indagherò! – andybarnes

risposta

-1

La versione HTML5 funziona addirittura sul tuo telefono? CanIUse suggerisce che non dovrebbe funzionare su nessun dispositivo mobile tranne il blackberry ... ma a volte non sono aggiornati.

In entrambi i casi - c'è dubbio che esiste una soluzione valida per tutti con una nuova API di questo tipo. Puoi vedere come utilizzare la versione dell'app (codice nativo) sui telefoni e la versione abilitata per i desktop Flash. Dovrai eseguire lo sniffing del tuo dispositivo:

if(user_has_flash) { 
    // Load an HTML5/Flash solution 
} else if(is_mobile_device) { 
    // defer to the native code 
    // zxing has a phonegap plugin - https://github.com/wildabeast/BarcodeScanner 
} else { 
    alert("Your device does not have scanning capabilities"); 
} 
+0

Non so perché il downvote. Stava provando una soluzione HTML5, ho offerto una soluzione più compatibile che coinvolge sia l'app per fotocamera HTML5 che nativa (zxing). Dopo la mia risposta, l'OP ha aggiornato la domanda con una soluzione utilizzando la libreria zxing. –

Problemi correlati