Xamarin Forms - Zxing QR Scanner - 如何切换正在使用的相机?

Xamarin Forms - Zxing QR Scanner - How can you toggle the camera being used?

当我开始使用 Xamarian 表格中的 ScannerView 扫描条码时,它会自动转到 phone 上的后置摄像头。

我想制作一个切换相机按钮,将相机从后向前切换,反之亦然。

是否可以将 zxing 用于 xamarin 表单?

我的选项是这样的:

代码:

//Set the scanner options.
ScannerView.Options = new ZXing.Mobile.MobileBarcodeScanningOptions()
{
    UseNativeScanning = true,
    AutoRotate = true,
    PossibleFormats = new List<ZXing.BarcodeFormat>()
    {
        ZXing.BarcodeFormat.QR_CODE
    },
    TryHarder = true,
    UseFrontCameraIfAvailable = false,
    DelayBetweenContinuousScans = 2000
};

一旦我通过设置开始扫描

ScannerView.IsScanning = true;

设置:

ScannerView.Options.UseFrontCameraIfAvailable = true;

不更换相机。但是我可以做到这一点

ScannerView = null;
CreateScannerView();
ScannerView.Options.UseFrontCameraIfAvailable = true;
ScannerView.IsScanning = true;

并且有效。然而,摄像机视图完全消失了大约 2 秒,然后又回来了。当我为另一个应用程序 Xcode 原生 iOS 时,摄像头视图从未消失,只是翻转了摄像头。我期待这样的事情。

可以切换摄像头吗?

我不认为 Zxing 在开始扫描后可以在相机之间切换,因此必须事先选择和设置该选项。

 var options = new MobileBarcodeScanningOptions
 {
     AutoRotate = true,
     UseNativeScanning = true,
     TryHarder = true,
     TryInverted = true,
     UseFrontCameraIfAvailable  = true
 };

 var scannedCode = await _scanner.Scan(options);