有趣的问题。如果其他人正在查看此信息,这仅供参考。在 iPad OS 3.2 上,我发现在检索视频时出现了一些问题,尽管选择器可以工作,而且我可以从相册中选择视频,而不仅仅是从相机胶卷中。
这是我的工作代码片段
通话
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
所以在我看来,即使我选择整个视频,视频也可能正在通过修剪代码进行处理。另请注意,当我通过 iTunes 加载它时,最初是 m4v 类型的电影是 MOV 类型的,这当然无法在设备上播放!我确实尝试播放该 URL,但我收到一条警告说“无法播放此类电影”
我不太明白 Apple 在这里玩什么,该 API 似乎不能真正用作从照片库加载和播放视频的一种方式。
希望 IOS 4 会更加即将推出,但对于我的 iPad 应用程序来说,那还有几个月的时间。