Commit a53a6fe5 by Daniel Dahan

added focusMode property for CaptureSession to adjust focusMode

parent 0c3cf63d
......@@ -99,6 +99,7 @@ public class CaptureSession : NSObject {
:name: init
*/
public override init() {
sessionPreset = .High
super.init()
prepareSession()
}
......@@ -133,6 +134,40 @@ public class CaptureSession : NSObject {
}
/**
:name: focusMode
*/
public var focusMode: AVCaptureFocusMode {
get {
return videoDevice.focusMode
}
set(value) {
var error: NSError?
if isFocusModeSupported(focusMode) {
do {
try videoDevice.lockForConfiguration()
videoDevice.focusMode = focusMode
videoDevice.unlockForConfiguration()
} catch let e as NSError {
error = e
}
error = NSError(domain: "[MaterialKit Error: Unsupported focusMode.]", code: 0, userInfo: nil)
}
if let e: NSError = error {
delegate?.captureSessionFailedWithError?(self, error: e)
}
}
}
/**
:name: sessionPreset
*/
public var sessionPreset: CaptureSessionPreset {
didSet {
session.sessionPreset = CaptureSessionPresetToString(sessionPreset)
}
}
/**
:name: delegate
*/
public weak var delegate: CaptureSessionDelegate?
......@@ -160,13 +195,6 @@ public class CaptureSession : NSObject {
}
/**
:name: sessionPreset
*/
public func sessionPreset(preset: CaptureSessionPreset) {
session.sessionPreset = CaptureSessionPresetToString(preset)
}
/**
:name: switchCameras
*/
public func switchCameras() {
......@@ -209,7 +237,6 @@ public class CaptureSession : NSObject {
// :name: prepareSession
//
private func prepareSession() {
sessionPreset(.High)
prepareVideoInput()
prepareAudioInput()
prepareImageOutput()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment