如何使用ELCImagePickerController检查选定的视频大小

时间:2014-05-23 08:37:45

标签: ios objective-c elcimagepickercontroller

我正在使用ELCImagePickerController进行多个视频选择。但我希望获得所选视频的大小。当用户点击任何视频时,会检查他们的视频大小。

目前,所有选定的视频信息都已进入:

- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
{
 for (NSDictionary *dict in info) {
   NSUrl *video url = [dict objectForKey:UIImagePickerControllerReferenceURL];

NSLog(@"Video information is ::",url);
       }
} 

我可以在didFinishPickingMediaWithInfo:方法中找到视频大小。但是当用户选择所有视频时会调用此方法。但我想限制用户选择大尺寸文件。

我想在用户点击视频时获取视频信息,如果用户点击一个视频,那么该视频大小就会获得并显示与大尺寸相关的警报。 当用户点击视频进行选择时,将调用以下内容。但我目前无法获取视频信息。

ELCImagePickerController.m

- (BOOL)shouldSelectAsset:(ELCAsset *)asset previousCount:(NSUInteger)previousCount
{
    BOOL shouldSelect = previousCount < self.maximumImagesCount;
    if (!shouldSelect) {
        NSString *title = [NSString stringWithFormat:NSLocalizedString(@"Only %d Video please!", nil), self.maximumImagesCount];
        NSString *message = [NSString stringWithFormat:NSLocalizedString(@"You can only upload %d Videos at a time.", nil), self.maximumImagesCount];
        [[[UIAlertView alloc] initWithTitle:title
                                    message:message
                                   delegate:nil
                          cancelButtonTitle:nil
                          otherButtonTitles:NSLocalizedString(@"Okay", nil), nil] show];
    }
    return shouldSelect;
}

1 个答案:

答案 0 :(得分:1)

检查以下代码长度:`

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:yourVideoUrl];

CMTime duration = playerItem.duration;
float seconds = CMTimeGetSeconds(duration);
NSLog(@"duration: %.2f", seconds);`

检查以下代码尺寸:

一千字节中有1024个字节,一兆字节中有1024千字节

NSData * movieData = [NSData dataWithContentsOfURL:yourVideoUrl];

NSLog(@"%.2f",(float)movieData.length/1024.0f/1024.0f);