Flutter中如何使用相机包录制视频时切换相机?

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

如果我不录制视频,我可以在前置摄像头和后置摄像头之间切换。但是在录制视频时,相机预览小部件会短暂变黑,然后显示相同的相机,而不是切换到新相机。
我正在使用 Flutter 3.24.3 和 Camera 包 0.11.0+2。

Future<void> switchCamera() async {
    if (cameraController != null) {
      final lensDirection = cameraController!.description.lensDirection;
      CameraDescription newDescription;
      if (lensDirection == CameraLensDirection.front) {
        newDescription = cameras.firstWhere((description) => description.lensDirection == CameraLensDirection.back);
      } else {
        newDescription = cameras.firstWhere((description) => description.lensDirection == CameraLensDirection.front);
      }
      await cameraController!.setDescription(newDescription);
    } else {
      await _initializeCameraController(_getDefaultCamera());
    }
  }

如果您遇到此错误,请告诉我解决方案。
任何帮助总是值得赞赏。

android ios flutter flutter-camera
1个回答
0
投票

切换摄像机时必须停止录像,然后使用所需镜头重新初始化摄像机并重新开始录像。

相机包尚不支持热切换相机中途录制,无需停止和重新启动。

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