I have a Flutter app which uses the camera package to display the user's front camera.
This is done by using a CameraController
, for example:
final List<CameraDescription> cameras = await availableCameras();
var frontCamera = cameras[0];
final CameraController cameraController = CameraController(
frontCamera,
ResolutionPreset.medium,
enableAudio: enableAudio,
imageFormatGroup: ImageFormatGroup.jpeg,
);
// Return a live feed of the user's camera
return CameraPreview(cameraController);
The above is working correctly. However when I use cameras[1]
to display an image of the back camera at the same time, the back camera image is blank:
final List<CameraDescription> cameras = await availableCameras();
var frontCamera = cameras[0];
var backCamera = cameras[1];
final CameraController frontCameraController = CameraController(
frontCamera,
ResolutionPreset.medium,
enableAudio: enableAudio,
imageFormatGroup: ImageFormatGroup.jpeg,
);
final CameraController backCameraController = CameraController(
backCamera,
ResolutionPreset.medium,
enableAudio: enableAudio,
imageFormatGroup: ImageFormatGroup.jpeg,
);
return Column(
children: [
// Front camera is shown correctly
CameraPreview(frontCameraController),
// Back camera image is blank
CameraPreview(backCameraController),
],
);
How do I show the image from two cameras at the same time with Flutter?