问题:
使用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
这就是它的样子
你能帮我吗? 我正在使用 macOs_Desktop、android、ios
我尝试了 chatGPT 和 google 搜索,但对我不起作用
无论如何我解决了问题。
我不认为这是代码问题。
我将软件包版本从^0.11.0+2更改为0.10.6,现在工作正常了。
如果您遇到相同的错误,请尝试降级,直到最近的更新修复它。
编码愉快😊