setCameraFacing method
Switches camera lens facing direction (mobile_scanner API compatibility).
Implementation
Future<void> setCameraFacing(CameraFacing targetFacing) async {
if (_availableCameras.isEmpty) return;
final targetIndex = _availableCameras.indexWhere((c) {
if (targetFacing == CameraFacing.front) {
return c.lensDirection == cam.CameraLensDirection.front;
} else {
return c.lensDirection == cam.CameraLensDirection.back;
}
});
if (targetIndex != -1 && targetIndex != _selectedCameraIndex) {
_selectedCameraIndex = targetIndex;
if (_cameraController != null &&
_cameraController!.value.isStreamingImages) {
try {
await _cameraController!.stopImageStream();
} catch (_) {}
}
await _cameraController?.dispose();
_cameraController = null;
_isInitialized = false;
_safeNotifyListeners();
await initialize();
}
}