The UIImagePickerController class is the easiest and non-functional way to access the camera. The framework that allows you to change the characteristics of the resulting video - AVFoundation . You also need to use the CoreMedia framework.
In particular, the CMTimeShow method is responsible for the frame rate. Approximately in this way you can get the frame rate:
CMTimeShow(CaptureConnection.videoMinFrameDuration); //ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
Or so
CMTimeShow(CaptureConnection.videoMaxFrameDuration); //ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
In embodiments of the method, you can specify in more detail the frame rate.
For permission, the sessionPreset method sessionPreset . So you can implement changing the resolution settings:
[CaptureSession setSessionPreset:AVCaptureSessionPresetLow]; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Or so
[CaptureSession setSessionPreset:AVCaptureSessionPresetHigh]; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
A good working code, with comments in English on the issue of changing the resolution and frame rate is given here.
UIImagePickerControllerhas avideoQualitypropertyvideoQualityit sets the resolution. As for the frame rate, it is unlikely that you can change it when recording, I would suggest watching the editing classes of an already recorded video. - Max Mikheyenko 1:56 pm