【问题标题】:Barcode scanning with ZX and front facing camera使用 ZX 和前置摄像头进行条码扫描
【发布时间】:2015-06-21 22:37:36
【问题描述】:

我正在使用以下代码触发 Intent 以启动 ZX 条形码扫描仪。我已经对其进行了调整以使用前置摄像头,但这似乎无法扫描任何条形码,因为正面图像被反转(我假设这是原因)。即书籍条形码显示 NBSI(带有反向字母)而不是 ISBN。使用后置摄像头,Nexus 5 和 Nexus 7 都可以扫描条形码。切换到前置摄像头时,都无法识别条形码。

如何调整我的 Intent 以使 ZX 显示不倒转的前置摄像头图像?

private void startBarcodeScanner() {
    IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
    integrator.addExtra("SCAN_CAMERA_ID", getFrontCameraId());
    integrator.addExtra("SCAN_MODE", "PRODUCT_MODE");
    integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);
}

private int getFrontCameraId() {
    int cameraId = -1;
    int numberOfCameras = Camera.getNumberOfCameras();
    for (int i = 0; i < numberOfCameras; i++) {
        Camera.CameraInfo info = new Camera.CameraInfo();
        Camera.getCameraInfo(i, info);
        if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            cameraId = i;
            return cameraId;
        }
    }
    return -1;
}

【问题讨论】:

    标签: android zxing


    【解决方案1】:

    稍作修改即可与 Tab S7 完美搭配:

    public void barcodeButtonPressed(View v){
        IntentIntegrator scanIntegrator = new IntentIntegrator(this);       
        scanIntegrator.addExtra("SCAN_CAMERA_ID", getFrontCameraId());
        //scanIntegrator.addExtra("SCAN_MODE", "PRODUCT_MODE");
    
        scanIntegrator.initiateScan(IntentIntegrator.ALL_CODE_TYPES);
    }
    

    【讨论】:

      【解决方案2】:

      我们在其他设备上进行了更多测试,它确实使用上述代码使用前置摄像头扫描条形码。由于某种原因,在我的 N5 和 N7 上它失败了,但我不得不把它归结为对焦/照明。

      如果其他人想确认 ZX 是否使用开箱即用的前置摄像头扫描条形码,我会留下这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        相关资源
        最近更新 更多