AVCaptureVideoPreviewLayer угол захвата сокращен?
У меня возникают некоторые проблемы, когда я пытаюсь узнать, почему AVCaptureVideoPreviewLayer укорачивает угол наклона камеры. Под этим я подразумеваю, что камера имеет больший зум, чем камера по умолчанию или камера UIImagePickerController. Я протестировал AVCaptureVideoPreviewLayer, и он выглядит как увеличенный, как при использовании опции "Видео" в приложении камеры по умолчанию.
Возможно ли, что я смогу забрать этот дополнительный зум? Я хочу широкоугольную камеру, а не видео зум. Я использую оверлей, и поэтому я использую эту опцию.
1 ответ
Есть несколько свойств, которые вы можете попробовать изменить, чтобы решить эту проблему. Первый и наиболее вероятный вариант, который я бы попробовал - это свойство sessionPreset вашего AVCaptureSession. Возможно, вы захотите попробовать AVCaptureSessionPresetPhoto
, но есть и другие варианты, которые можно найти в документации
[session setSessionPreset:AVCaptureSessionPresetPhoto];
Это отличается от предустановок видео тем, что оно не сокращает угол захвата, тогда как все предустановки видео будут увеличивать и обрезать ввод.
Помимо этого, вы можете настроить свойство contentGravity в самом слое предварительного просмотра.
[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];
Хотя есть только три варианта, AVLayerVideoGravityResize
, AVLayerVideoGravityResizeAspect
, а также AVLayerVideoGravityResizeAspectFill
,