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);
当我开始使用 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);