ipad UIImagePickerController videoQuality
Я пытаюсь установить качество видео для 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, и он также выводит правильное качество. Но если я нахожусь в режиме высокого качества, и я установил низкое качество, ничего не происходит. Если я перезагружу приложение, выйдя из него и вернувшись назад, запись видео теперь находится в режиме низкого качества.
Кто-нибудь знает, какие могут быть возможные причины?
4 ответа
Оказывается, это ошибка iOS SDK, теперь она исправлена в iOS 5.
Вы устанавливаете свойство videoQuality представления выбора. Его методы делегата иногда не вызываются при программном выборе.
Попробуйте вызвать методы делегата сразу после изменения выбора и посмотрите, работает ли он.
Что если вы уничтожили imagePicker и снова создали новый после его установки?
Не исправление - но обходной путь!
Та же проблема здесь (устройство тестирования: iPhone 4; ОС: iOS 5.0.1):
Никогда не вижу разницы между видео, возвращенным для
UIImagePickerControllerQualityTypeMedium UIImagePickerControllerQualityTypeHigh
даже если я выйду из приложения. Потратил 1 час, никаких результатов, я собираюсь отказаться от этого... Грустно.