使用CameraPreview时,相机屏幕处于横向模式且长宽比略有偏差

问题描述 投票:0回答:1

问题:

使用CameraPreview时,相机屏幕处于横向模式,并且长宽比略有偏差。这很奇怪,因为相同的代码在其他项目中运行良好。

从根本上解决这个问题的办法是什么?我正在寻找一种不仅仅是使用 Transform.rotate 的解决方案。

这是我的代码

SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ],
  );

main.dart

Future<void> initializeCamera() async {
    try {
      _availableCameras = await availableCameras();

      debugPrint('✅ _availableCameras : ${_availableCameras![0]} ');

      if (_availableCameras!.isNotEmpty) {
        final controller = CameraController(
          _availableCameras![_selectedCameraIndex],
          ResolutionPreset.max,
          enableAudio: false,
        );

        await controller.initialize();
        await controller.lockCaptureOrientation(DeviceOrientation.portraitUp);
        state = controller; // Set the state with the initialized controller
        debugPrint('✅ camera initialized ');
      }
    } catch (e) {
      state = null; // If there's an error, set the state to null
    }
  }

控制器.dart

...
 
body: CameraPreview(cameraController!)

... 

some_page.dart

这就是它的样子

enter image description here

你能帮我吗? 我正在使用 macOs_Desktop、android、ios

我尝试了 chatGPT 和 google 搜索,但对我不起作用

flutter camera preview
1个回答
0
投票

无论如何我解决了问题。

我不认为这是代码问题。

我将软件包版本从^0.11.0+2更改为0.10.6,现在工作正常了。

如果您遇到相同的错误,请尝试降级,直到最近的更新修复它。

编码愉快😊

© www.soinside.com 2019 - 2024. All rights reserved.