如果我不录制视频,我可以在前置摄像头和后置摄像头之间切换。但是在录制视频时,相机预览小部件会短暂变黑,然后显示相同的相机,而不是切换到新相机。
我正在使用 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());
}
}
如果您遇到此错误,请告诉我解决方案。
任何帮助总是值得赞赏。
切换摄像机时必须停止录像,然后使用所需镜头重新初始化摄像机并重新开始录像。
相机包尚不支持热切换相机中途录制,无需停止和重新启动。