Camera quality property added.

This commit is contained in:
nelanelanela 2014-10-15 11:51:35 +01:00
parent e145af50d6
commit a2c162cdd6
2 changed files with 28 additions and 1 deletions

View File

@ -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()