I am trying to set the video quality for the UIImagePickerController but I see something really werid now. The effect on the video quality only happen after I reset my application. I try to change the video quality based on some user setting, by some code like this:
if ([preferences boolForKey:kVideoQuality]) {
NSLog(@"High Quality");
self.pickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
} else {
NSLog(@"Low Quality");
self.pickerController.videoQuality = UIImagePickerControllerQualityTypeMedium;
}
NSLog(@"%d", self.pickerController.videoQuality);
Everything looks good, when I change the setting to High Quality, the "High Quality" is output and vice versa. I also double check by the last NSLog and it aslo output the correct quality. But if I am in the high quality mode and I set to low quality, nothing happens. If I reset the app by quitting it and going back, the video record now is in low quality mode.
Anybody knows what can be possible causes?
You're setting the picker view's videoQuality property. Its delegate methods are sometimes not called when making a selection programatically.
Try calling the delegate methods directly after changing the selection and see if it works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With