Utilizar la biblioteca de Zxing en PreviewFrame para aumentar la realidad

¿Puede alguien decirme cómo puedo usar la Biblioteca Zxing para una aplicación de Realidad Aumentada? Sé que la forma más fácil de usar Zxing es a través de Intent, pero necesito la vista de cámara, así que no puedo usar la aplicación de código de barras.

Tengo un SurfaceHolder.Callback que se agrega a la actividad principal y sobrescribe el siguiente método:

 @Override public void surfaceCreated(SurfaceHolder holder) { mCamera = Camera.open(); try { mCamera.setPreviewDisplay(holder); } catch (IOException e) { Log.d(TAG, "Can not set surface holder"); } mCamera.startPreview(); Parameters parameters = mCamera.getParameters(); parameters.setPreviewSize(1280, 720); parameters.setPictureSize(1280, 720); mCamera.setParameters(parameters); QrCodeReader reader = new QrCodeReader(); mCamera.setPreviewCallback(reader); } 

El tamaño de imagen ajustado tiene que estar disponible porque está en la lista parameters.getSupportedPictureSizes() .

Y este método en la clase QrCodeReader que implementa PreviewCallback :

 private Result result; private MultiFormatReader reader = new MultiFormatReader(); private boolean init = false; public QrCodeReader(){ Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>(); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); reader.setHints(hints); } @Override public void onPreviewFrame(byte[] data, Camera camera) { PlanarYUVLuminanceSource source = new PlanarYUVLuminanceSource(data, 1280, 720, 0, 0, 1280, 720, true); HybridBinarizer hybBin = new HybridBinarizer(source); BinaryBitmap bitmap = new BinaryBitmap(hybBin); try { result = reader.decodeWithState(bitmap); Log.d("Result", "Result found!"); } catch (NotFoundException e) { Log.d(TAG, "NotFoundException"); } finally { reader.reset(); } } 

El Logcat sólo muestra NotFoundException .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.