Interessante problema. Questo è solo per informazione dovrebbe essere visto da chiunque altro. Su iPad OS 3.2 ho riscontrato alcuni problemi nel recupero del video, anche se il picker funziona e posso selezionare il video dagli album e non solo dal rullino fotografico.
Ecco il mio codice di lavoro frag
La chiamata
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];
}
Ed ecco il metodo delegato
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];
}
Tuttavia l'URL del video che ho recuperare dal selettore ha la forma
file:/lo calhost/private/var/mobile/Applications/C6FAC491-D27D-45A6-B805-951727ED2CEC/tmp/-Tmp-/trim.KOzqps.MOV
Così sembra a me che il video potrebbe essere in fase di elaborazione attraverso il codice di ritaglio anche se sto selezionando il video nel suo complesso. Nota anche che il film, originariamente di tipo m4v quando l'ho caricato tramite iTunes, è di tipo MOV, che ovviamente non è riproducibile sul dispositivo! Ho provato a riprodurre l'URL ma ho ricevuto un avviso che diceva "Questo tipo di film non può essere riprodotto"
Non capisco cosa stia riproducendo Apple qui, l'API sembra non essere utilizzabile come modalità di caricamento e riproduzione di video dalla libreria fotografica.
Speriamo che IOS 4 sarà più disponibile, ma per la mia app per iPad è ancora mesi.
fonte
2010-07-02 09:11:55
consente la proprietà ImagingEditing Deprecato in iOS 3.1 – kamleshwar
ci vuole solo tempo per copiare il file nella directory tmp della sandbox dell'applicazione. non ti viene dato il file originale, solo una copia ... in modo che la barra di avanzamento sia l'os che copia il file. – n3wscott