从相册中选择具有一定时长和仅在附加位置的视频

问题描述 投票:3回答:2

我正在开发一个允许用户使用UIImagePickerController从照片库中选择视频的应用程序。我想对视频进行过滤,例如,如果所选视频时长> 5分钟,则不会上传视频。所选视频必须以相同的方式附加位置坐标。

我已经在- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info中完成了此操作。首先,我获得了持续时间并比使用ALAssetsLibraryAssetForURLResultBlock进行了验证,并检查了附加的有效坐标。

[一切正常,但问题是当我从图库中选择视频时,它会进行压缩,在取得进展之后,我便能够确定播放时间和位置。如果用户选择时长为1小时的视频,则会花费很多时间。并且如果它没有位置,那么我的应用也会拒绝它。

  • 是否可以仅选择<5分钟且具有有效坐标的视频?
  • 我们只能显示那些符合我的应用标准的视频吗?
  • 我可以通过跳过图像选择器的压缩来获得持续时间和位置吗?
ios uiimagepickercontroller avfoundation
2个回答
3
投票

根据您的要求,我认为UIImagePickerController不适合您需要的AssetLibrary,Apple可以完全对其进行自定义,因此您可以获得SizeDurationCo-Ordinates等所有视频属性的完整详细信息所有这些,因此您需要根据需要进行“ ALAssetsLibrary”操作。

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

ALAssetsFilter Class Reference


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;
© www.soinside.com 2019 - 2024. All rights reserved.