OnPreviewFrame(IntPtr数据,摄像头)未被称为| FastAndroidCamera

OnPreviewFrame(IntPtr数据,摄像头)未被称为| FastAndroidCamera,android,android-camera,Android,Android Camera,我试图使用这个库访问Android上预览的帧,然后将FastJavaByteArray传递给Zxing的Decode()方法,以扫描预览特定区域中的条形码。预览工作正常,当我使用普通预览时。SetPreviewCallback(这个);它工作正常,并调用OnPreviewFrame(字节[],摄影机)。只有当我使用Preview.SetNonMarshalingPreviewCallback(this)时,才没有调用该方法。我不确定为什么会发生这种情况,我想使用它,这样我就可以使用Zxing逐帧

我试图使用这个库访问Android上预览的帧,然后将FastJavaByteArray传递给Zxing的Decode()方法,以扫描预览特定区域中的条形码。预览工作正常,当我使用普通预览时。SetPreviewCallback(这个);它工作正常,并调用OnPreviewFrame(字节[],摄影机)。只有当我使用Preview.SetNonMarshalingPreviewCallback(this)时,才没有调用该方法。我不确定为什么会发生这种情况,我想使用它,这样我就可以使用Zxing逐帧扫描条形码。我在下面附上了我的代码

public void Open() {
            if (!closed) return;
        try {
                Preview = Camera.Open();
            }
            catch (Exception e) {
                Console.WriteLine(e);
            }

            var parameters = Preview.GetParameters();

            int numBytes = (parameters.PreviewSize.Width * parameters.PreviewSize.Height * Android.Graphics.ImageFormat.GetBitsPerPixel(parameters.PreviewFormat)) / 8;
            using (FastJavaByteArray buffer = new FastJavaByteArray(numBytes))
                Preview.AddCallbackBuffer(new FastJavaByteArray(numBytes));

            var options = new ZXing.Mobile.MobileBarcodeScanningOptions();
            options.PossibleFormats.Add(BarcodeFormat.QR_CODE);
            barcodeReader = options.BuildBarcodeReader();

            Preview.SetNonMarshalingPreviewCallback(this);
            //Preview.SetPreviewCallback(this);


            Handler handler = new Handler();
            Action loop = null;
            loop = () =>
            {
                if (!closed)
                {
                    AutoFocusLoop();
                    
                    handler.PostDelayed(loop, (long)(1000 * AF_DELAY));
                }
            };
            handler.Post(loop);

            closed = false;
        }

 public void OnPreviewFrame(IntPtr data, Camera camera)
        {
            throw new NotImplementedException();
        }