Interesujący problem. Jest to po prostu informacja, gdyby ktoś na nią patrzył. W systemie iPad OS 3.2 wykryłem pewne problemy z odtwarzaniem wideo, chociaż selektor działa i mogę wybrać wideo z albumów, a nie tylko z rolki aparatu.
Oto mój kod frag roboczego
Wezwanie
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];
}
I tu jest metoda delegata
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];
}
Jednak URL wideo, który odzyskać z próbnika ma postać
plik:/lo calhost/private/var/mobile/Applications/C6FAC491-D27D-45A6-B805-951727ED2CEC/tmp/-Tmp-/trim.KOzqps.MOV
Tak to wygląda mi, że film może być przetwarzany przez kod przycinania, nawet jeśli wybieram film jako całość. Zauważ też, że film, pierwotnie typu m4v, gdy załadowałem go przez iTunes, jest typu MOV, który oczywiście nie może być odtwarzany na urządzeniu! Próbowałem zagrać w adres URL, ale otrzymałem ostrzeżenie "Nie można odtwarzać tego rodzaju filmu"
Nie bardzo rozumiem, co Apple tu gra, interfejs API wydaje się nie nadawać się do użytku jako sposób ładowania i odtwarzania wideo z biblioteki zdjęć.
Mam nadzieję, że system IOS 4 będzie bardziej dostępny, ale w przypadku mojej aplikacji na iPada to jeszcze kilka miesięcy.
Właściwość allowImageEditing Przestarzała w systemie iOS 3.1 – kamleshwar
wystarczy skopiować plik do katalogu tmp w obszarze izolowanym aplikacji. nie dostaniesz pliku orignal, tylko kopię ... tak, że pasek postępu jest plikiem do kopiowania. – n3wscott