2
사용자 지정 UIView에서 캡처 세션을 만드는 데 문제가 있습니다. 나는이AVCaptureFileOutputRecordingDelegate를 하위 클래스 UIView에 추가 할 수 있습니까?
class Camera: UIView, AVCaptureFileOutputRecordingDelegate, AVAudioRecorderDelegate {
}
처럼 대리자를 설정 한 다음 나는 모든 설정이
self.recordingDelegate? = self
captureSession.sessionPreset = AVCaptureSessionPresetHigh
let devices = AVCaptureDevice.devices()
for device in devices {
if (device.hasMediaType(AVMediaTypeVideo)) {
if(device.position == AVCaptureDevicePosition.Back) {
captureDevice = device as? AVCaptureDevice
if captureDevice != nil {
beginSession()
}
}
}
}
처럼 대리자를 설정하고 모두가 잘 어울린다. 그러나, beginSession 함수 :
func beginSession() {
let err : NSError? = nil
do {
self.captureSession.addInput(try AVCaptureDeviceInput(device: self.captureDevice!))
}
catch {
print("dang")
}
if err != nil {
print("error: \(err?.localizedDescription)")
}
...
내가 캡처 장치 입력을 추가하려고하고 거기에 추가되지 않는과 나는 이유를 알아낼 수 없습니다 때 캐치가 발생합니다.
내 모든 코드 나는 UIViewController 내부에 있었을 때 사용하고 있었지만 현재 UIView의 하위 클래스로 전환했을 때 작동을 멈췄다. 더 많은 코드가 필요하면 도움을 주시면 감사하겠습니다.
당신은 예외를 인쇄 할 수 귀하의 게시물을 잡아 편집합니까? –
무엇? 이 코드로 어떤 에러도 발생하지 않습니다. –
"잡기가 던졌습니다"라고 말하면 콘솔에 "dang"이 인쇄되어 있다는 것을 의미합니까? 그렇다면 예외가 발생합니다. –