Фокус камеры HTML5 getUserMedia - программирование

Фокус камеры HTML5 getUserMedia

Я создал простое мобильное приложение, которое показывает камеру и декодирует QRCodes с помощью https://github.com/LazarSoft/jsqrcode

Поскольку моя камера размыта, это работает для больших QRCodes. Есть ли способ сфокусировать камеру на Javascript? Таким образом, это также работает для небольших изображений или есть другое решение?

ИЗМЕНИТЬ Я заметил, что если я использую приложение Android (вместо версии HTML5), он сможет обрабатывать больше различий в цвете и может сканировать мои коды, а jsqrcode не может. Я использую неправильную библиотеку?

Использование ZXING

Мой рабочий код:

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();
    }
}

Также необходимо добавить пакет импорта com.google.zxing.integration.android в мой проект.

4b9b3361

Ответ 1

Возможно, версия HTML5 работает даже на вашем телефоне? CanIUse предполагает, что он не должен работать ни на одном мобильном устройстве, кроме ежевики... но они иногда не обновляются.

В любом случае - сомнительно, что существует одноразовое решение с таким новым API. Вы можете узнать о том, как использовать версию приложения (собственный код) на телефонах и версию с поддержкой флэш-памяти для настольных компьютеров. Вам придется выполнять собственное обнюхивание устройства:

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");
}