我們有一個應用程序和更新,我們希望在應用程序中有Photobooth。一切正常,我得到相機的預覽等,但拍照不起作用..我嘗試了所有我在這裏找到的解決方案,但沒有任何工作。快速拍攝照片崩潰
頭:
var captureSession: AVCaptureSession?
var videoPreviewLayer: AVCaptureVideoPreviewLayer?
抽獎:
do {
let input = try AVCaptureDeviceInput(device: getDevice(position: .front))
captureSession = AVCaptureSession()
captureSession?.addInput(input)
videoPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
videoPreviewLayer?.videoGravity = AVLayerVideoGravityResizeAspectFill
videoPreviewLayer?.frame = cameraView.bounds
cameraView.layer.addSublayer(videoPreviewLayer!)
captureSession?.startRunning()
...
TakePhoto():
let stillImageOutput = AVCaptureStillImageOutput.init()
stillImageOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]
if(self.captureSession?.canAddOutput(stillImageOutput))!{
self.captureSession?.addOutput(stillImageOutput)
}
let videoConnection = stillImageOutput.connection(withMediaType:AVMediaTypeVideo)
if (videoConnection?.isEnabled)! {
stillImageOutput.captureStillImageAsynchronously(from:videoConnection, completionHandler: {
(sampleBuffer, error) in
...
而且它崩潰的最後一行。以下是錯誤:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] Inconsistent state'
信不信由你,但我們需要在3天內更新我們從蘋果應用程式,或將在AppStore(我們需要額外的功能。)被移除所以,如果你能幫助我們會非常感謝!
看看我的例子,我只是上傳到https://github.com/NikhilManapure/AVFoundationDemo,我希望這有助於。 –
AVCaptureStillImageOutput已被棄用。改用AVCapturePhotoOutput。 –
@NikhilManapure我完全複製了所有的代碼,但我得到的錯誤:「錯誤發生:無法記錄」捕獲功能,三重檢查了一切,它真的是一樣的 – MaximVW