我正在开发一款应用,允许用户使用UIImagePickerController
从照片库中选择视频。我希望对视频进行一些过滤,例如,如果选择的视频持续时间是> 5分钟视频将不会上传。所选视频必须具有与之相连的位置坐标。
我在- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
完成了这件事。首先,我得到了持续时间并验证了它比我使用ALAssetsLibraryAssetForURLResultBlock
并检查附加的有效坐标。
一切运作良好,但问题是当我从画廊选择视频进行压缩时,我可以获得持续时间和位置。如果用户选择1小时的持续时间视频,则需要花费很多时间。如果它没有位置,我的应用程序也会拒绝它。
答案 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
”来满足你的要求。请通过苹果给出的以下链接过滤视频&照片