Как проверить выбранный размер видео с помощью 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 ответ

Проверьте код ниже Длина:`

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);
Другие вопросы по тегам