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