From a2c162cdd6e87f21aa7d0ef9e8ef81e92b72a407 Mon Sep 17 00:00:00 2001 From: nelanelanela Date: Wed, 15 Oct 2014 11:51:35 +0100 Subject: [PATCH] Camera quality property added. --- .../UserInterfaceState.xcuserstate | Bin 42155 -> 43483 bytes camera/CameraManager.swift | 29 +++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate b/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate index 1b8723c52f3b7f8f65fa98985aa9917aa04d6a9d..79037ce11358e29894f6ae01841cb4bc7915e124 100644 GIT binary patch delta 20252 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�U_MRciY+2_fXFyGEHx-9J~t#G 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 HZTSBH!Xn(F diff --git a/camera/CameraManager.swift b/camera/CameraManager.swift index a1c3434..6f2b6cf 100644 --- a/camera/CameraManager.swift +++ b/camera/CameraManager.swift @@ -24,6 +24,10 @@ enum CameraOutputMode { case StillImage, VideoWithMic, VideoOnly } +enum CameraOutputQuality { + case Low, Medium, High +} + /// Class for handling iDevices custom camera usage class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate { @@ -105,6 +109,29 @@ class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate { } } + /// Property to change camera output quality. + var cameraOutputQuality: CameraOutputQuality { + get { + return self.currentCameraOutputQuality + } + set(newCameraOutputQuality) { + if newCameraOutputQuality != self.currentCameraOutputQuality { + self.captureSession?.beginConfiguration() + switch (newCameraOutputQuality) { + case CameraOutputQuality.Low: + self.captureSession?.sessionPreset = AVCaptureSessionPresetLow + case CameraOutputQuality.Medium: + self.captureSession?.sessionPreset = AVCaptureSessionPresetMedium + case CameraOutputQuality.High: + self.captureSession?.sessionPreset = AVCaptureSessionPresetHigh + } + self.captureSession?.commitConfiguration() + + self.currentCameraOutputQuality = newCameraOutputQuality + } + } + } + /// Property to change camera output. var cameraOutputMode: CameraOutputMode { get { @@ -186,6 +213,7 @@ class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate { private var currentCameraDevice = CameraDevice.Back private var currentFlashMode = CameraFlashMode.Off private var currentCameraOutputMode = CameraOutputMode.StillImage + private var currentCameraOutputQuality = CameraOutputQuality.High private var tempFilePath: NSURL = { let tempPath = NSTemporaryDirectory().stringByAppendingPathComponent("tempMovie").stringByAppendingPathExtension("mp4") @@ -340,7 +368,6 @@ class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate { }) } } - // PRAGMA MARK - CameraManager()