Exemple #1
0
        public ICamera GetCamera(LogicalCameras camera)
        {
            var manager  = GetManager();
            var cameraId = GetCameraId(camera, manager);

            return(new Camera(_context, manager, cameraId));
        }
Exemple #2
0
        public ICamera GetCamera(LogicalCameras camera)
        {
            var position = ToPosition(camera);
            var device   = GetCameraForOrientation(position);

            return(new Camera(device));
        }
Exemple #3
0
        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));
            }
        }
Exemple #4
0
        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");
            }
        }
Exemple #5
0
        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));
        }
Exemple #6
0
 private static string GetUnsupportedCameraMessage(LogicalCameras camera)
 {
     return("The camera " + camera + " is not supported yet.");
 }
Exemple #7
0
 public ICamera GetCamera(LogicalCameras camera)
 {
     return(_cameraManagerImplementation.GetCamera(camera));
 }