我正在开发一个允许用户使用UIImagePickerController
从照片库中选择视频的应用程序。我想对视频进行过滤,例如,如果所选视频时长> 5分钟,则不会上传视频。所选视频必须以相同的方式附加位置坐标。
我已经在- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
中完成了此操作。首先,我获得了持续时间并比使用ALAssetsLibraryAssetForURLResultBlock
进行了验证,并检查了附加的有效坐标。
[一切正常,但问题是当我从图库中选择视频时,它会进行压缩,在取得进展之后,我便能够确定播放时间和位置。如果用户选择时长为1小时的视频,则会花费很多时间。并且如果它没有位置,那么我的应用也会拒绝它。
根据您的要求,我认为UIImagePickerController
不适合您需要的AssetLibrary
,Apple可以完全对其进行自定义,因此您可以获得Size
,Duration
,Co-Ordinates
等所有视频属性的完整详细信息所有这些,因此您需要根据需要进行“ ALAssetsLibrary
”操作。
请通过苹果提供的以下链接过滤视频和照片
您可以让用户选择任何视频,但是如果超过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;