最近开发Flutter应用时需要使用mobile_scanner完成扫二维码功能,但是使用后发现扫码的成功率比较低,有时候都放得非常大了都扫不出来。

image-20250309010917865

打开文档找了一通,发现摄像头默认画质是480p,我说怎么扫不出来,于是修改为1080p后,没有出现扫不出来的情况了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
MobileScanner(
    controller: MobileScannerController(
      detectionSpeed: DetectionSpeed.unrestricted,
      formats: const [BarcodeFormat.qrCode],
      facing: CameraFacing.back,
      useNewCameraSelector: true,
      cameraResolution: const Size(1920, 1080), // 修改为1080p
    ),
    onDetect: (capture) {
      final List<Barcode> barcodes = capture.barcodes;
      if (barcodes.isNotEmpty) {
        _onScan(barcodes.first.rawValue);
      }
    },
)