В настоящее время я создаю простое приложение, которое использует AVFoundation для потокового видео в UIImageView
.Захват неподвижного изображения с AVFoundation
Для достижения этой цели, я создал экземпляр AVCaptureSession()
и AVCaptureSessionPreset()
:
let input = try AVCaptureDeviceInput(device: device)
print(input)
if (captureSession.canAddInput(input)) {
captureSession.addInput(input)
if (captureSession.canAddOutput(sessionOutput)) {
captureSession.addOutput(sessionOutput)
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
previewLayer.connection.videoOrientation = AVCaptureVideoOrientation.portrait
cameraView.layer.addSublayer(previewLayer)
captureSession.startRunning()
cameraView ссылки на
UIImageView
розетку.
Теперь я хочу реализовать способ захвата неподвижного изображения с AVCaptureSession.
Исправьте меня, если более эффективный способ, но я планирую иметь дополнительный UIImageView
для хранения неподвижного изображения, размещенного поверх UIImageView
, который содержит видео?
Я создал кнопку с действием:
@IBAction func takePhoto(_sender: Any) {
// functionality to obtain still image
}
Моя проблема, я не уверен в том, как на самом деле получить неподвижное изображение из сеанса захвата и заполнить новый UIImageView
с ним.
После просмотра информации/вопросы размещены на стеке, большинство решений заключается в использовании:
captureStillImageAsynchronouslyFromConnection
Я уверен, если это просто Swift 3,0, но Xcode не распознает эту функцию.
Не могли бы вы посоветовать мне, как на самом деле добиться результата получения и отображения неподвижного изображения при нажатии кнопки.
Here - ссылка на мой полный код для лучшего понимания моей программы.
Благодарим вас за то, что нашли время, чтобы прочитать мой вопрос, и, пожалуйста, не стесняйтесь говорить мне, если я упустил некоторые релевантные данные.
[Оби-Ван Кеноби голос:] Uuuuuse Документов, Luuuuuke! В Swift 3 это ['captureStillImageAsynchronously (from: completeHandler:)'] (https://developer.apple.com/reference/avfoundation/avcapturestillimageoutput/1387374-capturestillimageasynchronously). – matt
Вы можете сослаться на это http://stackoverflow.com/questions/28756363/how-to-capture-picture-with-avcapturesession-in-swift –