Как разместить проверить, больше ли видео файл больше 2МБ? - PullRequest
2 голосов
/ 13 мая 2011

Предположим, я взял видеофайл из библиотеки iphone. Я хочу поставить галочку, чтобы размер видеофайла не превышал 2 МБ.

Я не могу использовать метод videoMaximumDuration. Потому что, если какое-либо видео имеет качество HD, даже видео продолжительностью 1 минута может быть огромного размера.

Есть просмотры?

Ответы [ 3 ]

3 голосов
/ 13 мая 2011

urlvideo содержит URL выбранного видеофайла

            NSString *strurl=[urlvideo path];
            NSFileManager *fileManager = [NSFileManager defaultManager];
            NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:strurl error:nil];

        if(fileAttributes != nil)
            {
                NSString *fileSize = [fileAttributes objectForKey:NSFileSize];
                //NSLog(@"File size: %@ kb", fileSize);             
                if ([fileSize intValue] > 2000000) {                    
                    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"File size greater than 2MB.Please select another video file." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                    [alert show];
                    [alert release];
                }               
                else {
NSLog(@"video size less than 2 mb");
    }
0 голосов
/ 14 мая 2011

Решения NSURL не будут работать, поскольку URL-адрес видео с пользовательского iPod или библиотеки фотографий будет не URL-адресом файла, а особой схемой, которую обрабатывает MediaPlayer или ALAssetLibrary.(Я не уверен в том, что ALAssetLibrary делает это, но я знаю, что MediaPlayer делает это, и мог бы предположить, что библиотека фотографий делает это тоже, так что вы не можете испортить вещи за его спиной).

Лучшее решениеЯ могу подумать о том, чтобы создать AVURLAsset с URL, а затем выполнить итерацию по дорожкам и умножить оценку DataDate на длительность дорожки в секундах.Это должно дать вам приблизительную оценку размера для каждой дорожки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...