onNewCameraSelected method
Future<void>
onNewCameraSelected(
- CameraDescription cameraDescription
)
Implementation
Future<void> onNewCameraSelected(CameraDescription cameraDescription) async {
isCameraLoading(true);
final CameraController? oldController = cameraController;
if (oldController != null) {
cameraController = null;
await oldController.dispose();
}
final CameraController cameraCtrl = CameraController(
cameraDescription,
ResolutionPreset.veryHigh,
enableAudio: false,
imageFormatGroup: ImageFormatGroup.jpeg,
);
cameraController = cameraCtrl;
// If the controller is updated then update the UI.
cameraCtrl.addListener(() {
if (cameraCtrl.value.hasError) {
status.value = BaseStatus(
message: 'Camera error',
state: AppState.failed,
);
}
});
try {
await cameraCtrl.initialize();
isCameraLoading(false);
} on CameraException catch (_) {
isCameraLoading(false);
status.value = BaseStatus(
message: 'No camera found',
state: AppState.pop,
);
}
update(['camera']);
}