Фокус камеры 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
в мой проект.
Ответы
Ответ 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");
}