0

カメラベースアプリを開発しています。以前のバージョンでは機能していましたが、今ではこれに対する答えがほとんど見つかりません。AVCaptureStillImageOutput が非推奨であることを読みました。答えてくれてありがとう。

        let devices = AVCaptureDevice.devices().filter{ $0.hasMediaType(AVMediaTypeVideo) && $0.position == AVCaptureDevicePosition.Front }
    if let captureDevice = devices.first as? AVCaptureDevice  {
        do {
            let input = try AVCaptureDeviceInput.init(device: captureDevice)
            captureSession.addInput(input)
        } catch _ {
            print("error: \(error?.localizedDescription)")
        }

        captureSession.sessionPreset = AVCaptureSessionPresetPhoto
        captureSession.startRunning()
        stillImageOutput.outputSettings = [AVVideoCodecKey:AVVideoCodecJPEG]
        if captureSession.canAddOutput(stillImageOutput) == true{
            captureSession.addOutput(stillImageOutput)
        }

        if let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) {
            previewLayer.bounds = view.bounds
            previewLayer.position = CGPointMake(view.bounds.midX, view.bounds.midY)
            previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
            cameraPreview = UIView(frame: CGRectMake(0.0, 20.0, view.bounds.size.width, view.bounds.size.height))
            cameraPreview.layer.addSublayer(previewLayer)
        }
    }
4

0 に答える 0