我正在使用以下代码触发Intent以启动ZX条形码扫描程序。我已将其调整为使用前置摄像头,但这似乎无法扫描任何条形码,因为正面图像是反转的(我假设这是原因)。即书籍条形码显示NBSI(带倒退字母)而不是ISBN。使用后置摄像头,Nexus 5和Nexus 7都可以扫描条形码。切换到前置摄像头时,两者都无法识别条形码。
如何调整我的意图,以便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;
}
答案 0 :(得分: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);
}
答案 1 :(得分:0)
我们在其他设备上进行了更多测试,并且使用前面的代码使用前置摄像头扫描条形码。由于某种原因,我的N5和N7失败了,但我不得不把它放下来聚焦/照明。
如果其他人想要确认ZX使用前置摄像头开箱即可扫描条形码,我会留下这个问题。