私は、私は次のエラーを取得するAVCaptureDeviceInputタイプのインスタンスを作成してみてください。
私はこれまで何をした:
1)私は、カメラの使用とマイクのゲインの権限を持っています。
2)iPhone 7とiPhone 5でコードをテストしました。
3)それは私がsession.isRunningの値の印刷エラーを表示し、それが真の値を返します。
4)すべてのプロパティは強いままです。 AVCaptureDeviceInput初期化例外
Error Domain=AVFoundationErrorDomain Code=-11814 "Cannot Record" UserInfo={NSLocalizedDescription=Cannot Record, NSLocalizedRecoverySuggestion=Try recording again.
この
はコードです:let session = AVCaptureSession()
self.session = session
session.sessionPreset = AVCaptureSessionPresetPhoto
do {
let input = try AVCaptureDeviceInput(device: device)
session.addInput(input)
if session.canAddInput(input) {
let stillImageOutput = AVCapturePhotoOutput()
self.stillImageOutput = stillImageOutput
let settings = AVCapturePhotoSettings()
stillImageOutput.capturePhoto(with: settings, delegate: self)
if session.canAddOutput(stillImageOutput) {
session.addOutput(stillImageOutput)
if let previewLayer = AVCaptureVideoPreviewLayer(session: session) {
self.previewLayer = previewLayer
previewLayer.videoGravity = AVLayerVideoGravityResizeAspect
previewLayer.connection!.videoOrientation = AVCaptureVideoOrientation.portrait
viewController.centerView.layer.insertSublayer(previewLayer, at: 0)
session.startRunning()
}
}
}
} catch {
print(error.localizedDescription)
}
方法'デバイス'は初期化されていますか? Oleg氏が述べたように –
、デバイスの初期化を確認しますか?または、そのコードをここに追加できますか? –
@kapsym let device = AVCaptureDevice(ユニークID:AVMediaTypeVideo) – Andrew