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」と表示されていますか?もしそうなら、例外が投げられる –