从照片库中选择具有特定持续时间和附加位置的视频

时间:2013-03-20 06:19:06

标签: ios uiimagepickercontroller avfoundation

我正在开发一款应用,允许用户使用UIImagePickerController从照片库中选择视频。我希望对视频进行一些过滤,例如,如果选择的视频持续时间是> 5分钟视频将不会上传。所选视频必须具有与之相连的位置坐标。

我在- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info完成了这件事。首先,我得到了持续时间并验证了它比我使用ALAssetsLibraryAssetForURLResultBlock并检查附加的有效坐标。

一切运作良好,但问题是当我从画廊选择视频进行压缩时,我可以获得持续时间和位置。如果用户选择1小时的持续时间视频,则需要花费很多时间。如果它没有位置,我的应用程序也会拒绝它。

  • 是否可以仅选择那些< 5分钟并且有有效的坐标??
  • 我们是否只能展示符合我应用标准的视频?
  • 我可以通过跳过图像选择器的压缩来获得持续时间和位置吗?

2 个答案:

答案 0 :(得分:4)

您可以让用户选择任何视频,但如果超过5分钟,请强制他们将其编辑为最长时间。

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType]; 
imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie, nil];
imagePicker.videoMaximumDuration = 300; // duration in seconds
imagePicker.allowsEditing = YES;

答案 1 :(得分:3)

根据您的要求,我认为UIImagePickerController不适合您需要AssetLibrary,这完全由Apple定制,因此您可以获得所有视频属性的全部细节,例如尺寸,持续时间,共同标准所有这一切,所以你需要通过“ALAssetsLibrary”来满足你的要求。请通过苹果给出的以下链接过滤视频&照片

ALAssetsFilter Class Reference