我试图使用goggle vision api扫描条形码但是我的应用程序无法正确扫描qr-codes但是当关注条形码时它无法检测到这些是我的代码狙击建议我:
camerapreview = (SurfaceView) findViewById(R.id.camerapreview);
barcodeDetector = new BarcodeDetector.Builder(this)
.setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE)
.build();
if (!barcodeDetector.isOperational()) {
Toast.makeText(Scanner.this, "Could not set up the detector! Update google play services", Toast.LENGTH_LONG).show();
return;
}
cameraSource = new CameraSource
.Builder(this, barcodeDetector)
.setRequestedPreviewSize(640, 480)
.build();
//add event
camerapreview.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
cameraSource.start(camerapreview.getHolder());
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
cameraSource.stop();
}
});
barcodeDetector.setProcessor(new Detector.Processor<Barcode>() {
@Override
public void release() {
try {
cameraSource.start(camerapreview.getHolder());
} catch (IOException e) {
e.printStackTrace();
}
}
....................
该应用程序正在扫描qr-codes完美但它无法检测条码我无法让它工作,请帮助
您需要将接受的格式设置为包含“条形码”。
要更改的具体代码是:
barcodeDetector = new BarcodeDetector.Builder(this)
.setBarcodeFormats(Barcode.ALL_FORMATS)
.build();
用Barcode.DATA_MATRIX | Barcode.QR_CODE
替换Barcode.ALL_FORMATS