В моем приложении у меня есть UIImageView, который показывает предварительный просмотр видео.Когда я делаю фотографию, я замечаю, что предварительный просмотр на мгновение останавливается, и я хотел бы остановить паузу.(Я знаю, что для захвата изображения требуется время, но я не понимаю, почему оно должно приостанавливать подачу видео)
Соответствующие части моего приложения находятся ниже.Я также относительно новичок в разработке для ios, поэтому может быть больше, чем несколько ошибок!
//global variables
var session = AVCaptureSession()
var photoOutput: AVCapturePhotoOutput?
var videoPreviewLayer: AVCaptureVideoPreviewLayer?
var layer: UIView?
var videoDataOutput = AVCaptureVideoDataOutput()
В viewdidload / viewdidAppear
session.sessionPreset = .photo
photoOutput = AVCapturePhotoOutput()
session.addOutput(depthDataOutput)
session.addOutput(videoDataOutput)
videoPreviewLayer = AVCaptureVideoPreviewLayer(session: session)
videoPreviewLayer!.videoGravity = AVLayerVideoGravity.resizeAspect
videoPreviewLayer!.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
photoPreviewImageView.layer.addSublayer(videoPreviewLayer!)
session.startRunning()
Моя функция захвата изображения
func takeImage(){
var photoSettings = AVCapturePhotoSettings()
photoSettings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.hevc])
photoOutput!.capturePhoto(with: photoSettings, delegate: self)
}
Я полагаю, что это возможно отчасти потому, что приложение iphone camera имеет очень маленькую паузу при съемке фотографии (что также может быть предполагаемым эффектом), и потому что функция панорамирования, кажется, делает непрерывные фотографии без проблем.