AVCaptureVideoPreviewLayer угол захвата сокращен?

У меня возникают некоторые проблемы, когда я пытаюсь узнать, почему AVCaptureVideoPreviewLayer укорачивает угол наклона камеры. Под этим я подразумеваю, что камера имеет больший зум, чем камера по умолчанию или камера UIImagePickerController. Я протестировал AVCaptureVideoPreviewLayer, и он выглядит как увеличенный, как при использовании опции "Видео" в приложении камеры по умолчанию.

Возможно ли, что я смогу забрать этот дополнительный зум? Я хочу широкоугольную камеру, а не видео зум. Я использую оверлей, и поэтому я использую эту опцию.

1 ответ

Решение

Есть несколько свойств, которые вы можете попробовать изменить, чтобы решить эту проблему. Первый и наиболее вероятный вариант, который я бы попробовал - это свойство sessionPreset вашего AVCaptureSession. Возможно, вы захотите попробовать AVCaptureSessionPresetPhoto, но есть и другие варианты, которые можно найти в документации

[session setSessionPreset:AVCaptureSessionPresetPhoto];

Это отличается от предустановок видео тем, что оно не сокращает угол захвата, тогда как все предустановки видео будут увеличивать и обрезать ввод.

Помимо этого, вы можете настроить свойство contentGravity в самом слое предварительного просмотра.

[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];

Хотя есть только три варианта, AVLayerVideoGravityResize, AVLayerVideoGravityResizeAspect, а также AVLayerVideoGravityResizeAspectFill,

Другие вопросы по тегам