2

我正在尝试从照片库中挑选视频。原则上我知道该怎么做,您将图像选择器的 mediaType 设置为 NSArray,并将 kUTTypeMovie 作为其唯一对象。但这似乎不适用于 iPhone 3G。从 OS 3.1 开始,您可以将收到的视频存储在照片库中。当您在“照片”应用程序中开始构建时,会出现视频。但是,这不适用于 UIImagePickerController。控制器报告它只支持图像。当您尝试使用 kUTTypeMovie 设置控制器的 mediaType 时,它​​实际上会崩溃。

如果您未指定媒体类型,则选择器中仅显示图像。

有人设法从照片库中挑选视频吗?如果是,它是否仅适用于 3gs 或 3G?

问候

4

2 回答 2

5

我让图像选择器在 3g 和 3gs 上工作以挑选视频。

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

并获得挑选的视频

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType];
    if([mediaType isEqualToString:@"public.movie"]){...}
}
于 2009-10-08T05:09:10.477 回答
3

嘿,我也无法使用上述代码在 3G 上获取电影对象。它在我的 3G 上崩溃。然而,它适用于我的 3GS,但问题是它在照片库中显示图像和电影的混合。我尝试了以下代码:

videoPickerCtrl.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;

NSArray *mediaTypesAllowed = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];

在我运行 OS 3.1.2 的 3GS 上,它显示了存储在我的照片库中的视频和图像。

而如果我尝试执行以下操作:

videoPickerCtrl.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;
NSArray *mediaTypesAllowed = [NSArray arrayWithObject:@"public.movie"];
[videoPickerCtrl setMediaTypes:mediaTypesAllowed];

然后它向我显示的只是存储在相机胶卷中的视频,仅此而已。有人可以帮忙吗?

于 2009-11-15T08:59:10.377 回答