我正在尝试为UIImagePickerController设置视频质量,但我现在看到了一些非常令人讨厌的东西。只有在重置应用程序后才会对视频质量产生影响。我尝试根据某些用户设置更改视频质量,通过以下代码更改:
if ([preferences boolForKey:kVideoQuality]) {
NSLog(@"High Quality");
self.pickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
} else {
NSLog(@"Low Quality");
self.pickerController.videoQuality = UIImagePickerControllerQualityTypeMedium;
}
NSLog(@"%d", self.pickerController.videoQuality);
一切看起来都不错,当我将设置更改为高质量时,输出“高质量”,反之亦然。我也通过最后一个NSLog仔细检查,并输出正确的质量。但如果我处于高质量模式并且设置为低质量,则没有任何反应。如果我通过退出并返回来重置应用程序,则视频记录现在处于低质量模式。
有谁知道可能的原因是什么?
答案 0 :(得分:1)
您正在设置选择器视图的videoQuality属性。在以编程方式进行选择时,有时不会调用其委托方法。
在更改选择后尝试直接调用委托方法,看看它是否有效。
答案 1 :(得分:1)
原来是iOS SDK的一个bug,现在已经在iOS 5中修复了。
答案 2 :(得分:0)
如果您销毁了imagePicker,并在设置后再次创建了一个新的,该怎么办?
不是解决方法 - 而是解决方法!
答案 3 :(得分:0)
同样的问题(测试设备:iPhone 4;操作系统:iOS 5.0.1):
永远不会看到为
返回的视频之间存在任何差异UIImagePickerControllerQualityTypeMedium UIImagePickerControllerQualityTypeHigh
即使我退出了应用程序。 花了1个小时,没有发现,我将放弃这个...悲伤。