Ich stehe vor einem Problem, bei dem ich keine Videos aus dem Fotoalbum im iPhone 2G/3G-Gerät auswählen kann. Die Standard-Fotos-Anwendung zeigt Videos und ist in der Lage, sie abzuspielen, was wiederum bedeutet, dass UIImagePickerController eindeutig in der Lage sein sollte, Videos im Fotoalbum anzuzeigen und sie auszuwählen.
Ich habe dies kodiert, um festzustellen, ob das Gerät in der Lage ist, ein Foto zu schießen, ein Video aufzunehmen, Fotos auszuwählen und Videos auszuwählen:
// Check if camera and video recording are available:
[self setCameraAvailable:NO];
[self setVideoRecordingAvailable:NO];
[self setPhotoSelectionAvailable:NO];
[self setVideoSelectionAvailable:NO];
// For live mode:
NSArray *availableTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
NSLog(@"Available types for source as camera = %@", availableTypes);
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
if ([availableTypes containsObject:(NSString*)kUTTypeMovie])
[self setVideoRecordingAvailable:YES];
if ([availableTypes containsObject:(NSString*)kUTTypeImage])
[self setCameraAvailable:YES];
}
// For photo library mode:
availableTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
NSLog(@"Available types for source as photo library = %@", availableTypes);
if ([availableTypes containsObject:(NSString*)kUTTypeImage])
[self setPhotoSelectionAvailable:YES];
if ([availableTypes containsObject:(NSString*)kUTTypeMovie])
[self setVideoSelectionAvailable:YES];
Die resultierenden Protokolle für 3G-Geräte sehen wie folgt aus:
2010-05-03 19:09:09.623 xyz [348:207] Available types for source as camera = (
"public.image"
)
2010-05-03 19:09:09.643 xyz [348:207] Available types for source as photo library = (
"public.image"
)
Wie in den Protokollen angegeben, ist das String-Äquivalent von kUTTypeMovie für die Fotobibliothek nicht verfügbar und daher zeigt der UIImagePickerController die Filmdateien in der Fotobibliothek nicht an (oder löst eine Ausnahme aus, wenn wir das Array der Quelltypen festlegen, das kUTTypeMovie enthält).
Ich habe nicht für 3GS getestet, aber ich bin sicher, dass dieses Problem nicht in ihm mit Bezug auf andere Threads existieren.
Ich habe die Anwendung sowohl für 3.0 (Basis-SDK) als auch für 3.1 erstellt, aber mit denselben Ergebnissen.
Dieses Thema wurde bereits in diesem Thread erörtert: http://www.iphonedevsdk.com/forum/iphone-sdk-development/36197-uiimagepickercontroller-does-not-show-movies-albums.html
Aber es scheint keine Lösung zu sein.
Gibt es Lösungen für dieses Problem?
Vielen Dank und herzliche Grüße, Raj Pawan