public ICamera GetCamera(LogicalCameras camera) { var manager = GetManager(); var cameraId = GetCameraId(camera, manager); return(new Camera(_context, manager, cameraId)); }
public ICamera GetCamera(LogicalCameras camera) { var position = ToPosition(camera); var device = GetCameraForOrientation(position); return(new Camera(device)); }
private static Integer ToLensFacing(LogicalCameras camera) { switch (camera) { case LogicalCameras.Front: return(Integer.ValueOf((int)LensFacing.Front)); case LogicalCameras.Rear: return(Integer.ValueOf((int)LensFacing.Back)); default: throw new NotSupportedException(GetUnsupportedCameraMessage(camera)); } }
private static AVCaptureDevicePosition ToPosition(LogicalCameras camera) { switch (camera) { case LogicalCameras.Front: return(AVCaptureDevicePosition.Front); case LogicalCameras.Rear: return(AVCaptureDevicePosition.Back); default: throw new NotSupportedException("NotSupported"); } }
private static string GetCameraId(LogicalCameras camera, Android.Hardware.Camera2.CameraManager manager) { var cameraIdList = manager.GetCameraIdList(); var lensFacing = ToLensFacing(camera); foreach (var cameraId in cameraIdList) { var cameraCharacteristics = manager.GetCameraCharacteristics(cameraId); var facing = (Integer)cameraCharacteristics.Get(CameraCharacteristics.LensFacing); if (facing != null && facing == lensFacing) { return(cameraId); } } throw new NotSupportedException(GetUnsupportedCameraMessage(camera)); }
private static string GetUnsupportedCameraMessage(LogicalCameras camera) { return("The camera " + camera + " is not supported yet."); }
public ICamera GetCamera(LogicalCameras camera) { return(_cameraManagerImplementation.GetCamera(camera)); }