UIImagePickerController для фильма Объект

Когда необходимо быстро искать что-то, имение всего этого на одной странице может помочь.

10
задан vodkhang 20 August 2010 в 08:05
поделиться

3 ответа

Вы должны установить allowEditing = NO; вместо allowImageEditing = NO; (который устарел в 3.1). Затем интерфейс обрезки не должен отображаться, если длина выбранного фильма не превышает 10 минут (из документов: «Максимальная продолжительность фильма составляет 10 минут. Если пользователь выбирает фильм, продолжительность которого превышает 10 минут, они вынуждены обрезать перед сохранением. ").

2
ответ дан 4 December 2019 в 03:39
поделиться

Хорошо, после внимательного просмотра документации SDK он заработал давно. Я могу получать видео из каталога Camera Roll на моем 3GS. Но я не могу найти способ, которым UIImagePickerController может выбирать видео из каталогов, отличных от Camera Roll (например, из библиотеки фотографий устройства, где пользователь синхронизирует видео через iTunes). Есть ли в SDK стандартный способ сделать это?

1
ответ дан 4 December 2019 в 03:39
поделиться

Интересная задача. Это просто для информации, если кто-то еще взглянет на это. На iPad OS 3.2 я обнаружил некоторые проблемы с получением видео, хотя средство выбора работает, и я могу выбирать видео из альбомов, а не только из камеры.

Вот мой рабочий код frag

Вызов

NSArray *mediaTypesAllowed = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    [picker setMediaTypes:mediaTypesAllowed];

    picker.delegate = self;
    picker.allowsEditing = NO;
    picker.wantsFullScreenLayout = YES;
    if(!IsEmpty(self.editBackgroundPopover)){
        [self.editBackgroundPopover  setContentViewController:picker animated:YES]; 
    } 

А вот и метод делегата

imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [self.editBackgroundPopover dismissPopoverAnimated:true];   

NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];  

    //not production code,  do not use hard coded string in real app
    if ( [ mediaType isEqualToString:@"public.image" ]) {                                                                                                        
        NSLog(@"Picked a photo");
    }
    //not production code,  do not use hard coded string in real app
    else if ( [ mediaType isEqualToString:@"public.movie" ]){
        NSLog(@"Picked a movie at URL %@",  [info objectForKey:UIImagePickerControllerMediaURL]);
        NSURL *url =  [info objectForKey:UIImagePickerControllerMediaURL];
        NSLog(@"> %@", [url absoluteString]); 
    } 

    [[picker self] dismissModalViewControllerAnimated:YES];
}

Однако URL-адрес видео, который я получаю из средства выбора, имеет вид

файл: / localhost / private / var / mobile / Applications / C6FAC491-D27D-45A6-B805-951727ED2CEC / tmp / -Tmp- / trim.KOzqps.MOV

Мне кажется, что видео может обрабатываться с помощью кода обрезки, даже если я выбираю видео в целом.Также обратите внимание, что фильм, изначально имеющий тип m4v, когда я загружал его через iTunes, имеет тип MOV, который, конечно же, не воспроизводится на устройстве! Я попытался воспроизвести URL-адрес, но получил предупреждение: «Этот тип фильма не может быть воспроизведен»

. Я не совсем понимаю, что Apple играет здесь, API, похоже, действительно не годится для использования в качестве способа загрузки и воспроизведения видео из библиотеки фотографий.

Будем надеяться, что выпуск iOS 4 будет больше, но для моего приложения для iPad до этого еще несколько месяцев.

2
ответ дан 4 December 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: