3

我正在开发一个应用程序,该应用程序允许用户使用UIImagePickerController. 我想对视频进行一些过滤,例如,如果所选视频时长 > 5 分钟,则不会上传视频。同样,所选视频必须附有位置坐标。

我已经在- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info. 首先,我得到了持续时间并验证了它而不是我使用ALAssetsLibraryAssetForURLResultBlock的,并检查了附加的有效坐标。

一切运行良好,但问题是当我从图库中选择视频时,它会进行压缩,之后我能够获得持续时间和位置。如果用户选择 1 小时持续时间的视频,这将需要很多时间。如果它没有位置,我的应用程序也会拒绝它。

  • 是否可以只选择那些 <5 分钟且具有有效坐标的视频?
  • 我们可以只显示那些满足我的应用程序标准的视频吗?
  • 我可以通过跳过图像选择器的压缩来获得持续时间和位置吗?
4

2 回答 2

6

您可以让用户选择任何视频,但如果超过 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;
于 2014-05-22T18:20:00.793 回答
3

根据您的要求,我认为UIImagePickerController它不适合您AssetLibrary完全由 Apple 定制的需求,因此您可以获得所有视频属性的全部细节,例如Size,所有这些DurationCo-Ordinates因此您需要根据ALAssetsLibrary您的要求执行“”。

请通过苹果提供的以下链接过滤视频和照片

ALAssetsFilter 类参考

于 2013-03-20T07:31:47.570 回答