onNewCameraSelected method
Future<void>
onNewCameraSelected(
)
Implementation
Future<void> onNewCameraSelected() async {
// widget.photoController = widget.photoController = CameraController(widget.xApp.state.cameras[0], ResolutionPreset.max, enableAudio: true);
await Permission.photos.request();
widget.photoController!.addListener(() {
if (mounted) {
setState(() {});
}
if (widget.photoController!.value.hasError) {
showInSnackBar('Camera error ${widget.photoController!.value.errorDescription}');
}
});
try {
await widget.photoController!.initialize();
await widget.photoController!.setFocusMode(FocusMode.locked);
// for (var cameraDescription in _availableCameras) {
// liToggles.add(
// SizedBox(
// width: 90.0,
// child: RadioListTile<CameraDescription>(
// title: Icon(getCameraLensIcon(cameraDescription.lensDirection)),
// groupValue: widget.photoController?.description,
// value: cameraDescription,
// onChanged: (value) => widget.photoController!.setDescription(cameraDescription),
// ),
// ),
// );
// }
await Future.wait(<Future<Object?>>[
...!kIsWeb ? <Future<Object?>>[widget.photoController!.getMinExposureOffset().then((double value) => _minAvailableExposureOffset = value), widget.photoController!.getMaxExposureOffset().then((double value) => _maxAvailableExposureOffset = value)] : <Future<Object?>>[],
widget.photoController!.getMaxZoomLevel().then((double value) => _maxAvailableZoom = value),
widget.photoController!.getMinZoomLevel().then((double value) => _minAvailableZoom = value),
]);
} on CameraException catch (e) {
switch (e.code) {
case 'CameraAccessDenied':
showInSnackBar('Non hai gli accessi alla telecamera.');
break;
case 'CameraAccessDeniedWithoutPrompt':
// iOS only
showInSnackBar("Perfavore vai nelle impostazioni dell'app e dai gli accessi alla Telecamera.");
break;
case 'CameraAccessRestricted':
// iOS only
showInSnackBar('Accesso riservato per la Telecamera');
break;
case 'AudioAccessDenied':
showInSnackBar("Non hai gli accessi per registrare l'audio");
break;
case 'AudioAccessDeniedWithoutPrompt':
// iOS only
showInSnackBar("Perfavore vai nelle impostazioni dell'app e dai gli accessi all'Audio.");
break;
case 'AudioAccessRestricted':
// iOS only
showInSnackBar("Accesso riservato per la registrazione Audio");
break;
default:
_showCameraException(e);
break;
}
}
if (mounted) {
setState(() {});
}
}