【问题标题】:HTML5 getUserMedia camera focusHTML5 getUserMedia 相机焦点
【发布时间】:2013-11-26 14:24:45
【问题描述】:

我创建了一个简单的移动应用程序,它显示相机并使用https://github.com/LazarSoft/jsqrcode 解码二维码

因为我的相机模糊,这适用于大二维码。有没有办法用 Javascript 聚焦相机?所以这也适用于较小的图像,还是有其他解决方案?

编辑 我注意到如果我使用 Android App(而不是 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();
    }
}

还需要将 import com.google.zxing.integration.android 包添加到我的项目中。

【问题讨论】:

  • 你有没有得到这个?我正在尝试使用“环境”命令访问后置摄像头,但是正如您所建议的那样,它不会对焦并且不适合扫描?
  • 据我所知,这是不可能的。目前我正在使用 XZing 扫描应用程序(互联网上有多个演示)并从我的应用程序中打开该应用程序并让它扫描。该应用程序具有完整的扫描可能性。
  • 谢谢你,我会调查的!
  • 添加了我的一些代码。总帐

标签: javascript html mobile video camera


【解决方案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");
}

【讨论】:

  • 不知道为什么投反对票。他在尝试 HTML5 解决方案,我提供了一个更兼容的解决方案,涉及 HTML5 和原生相机应用程序 (zxing)。在我回答之后,OP 使用 zxing 库更新了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-05
  • 2018-02-19
  • 1970-01-01
相关资源
最近更新 更多