2016-01-11 1 views

ответ

1

Вы можете использовать этот код, чтобы сделать изображение из видео, а затем вы можете сохранить эти изображения в массиве

UIImage *singleFrameImage = [self.theMoviePlayer 
           thumbnailImageAtTime:i 
             timeOption:MPMovieTimeOptionExact]; 
+1

Он работает, но «thumbnailImageAtTime: timeOption:» устарел от iOS 7. Спасибо за ответ BTW. –

+0

Я нашел это: [thumbnailImageAtTime: теперь устарело - Какая альтернатива?] (Http://stackoverflow.com/questions/19105721/thumbnailimageattime-now-deprecated-whats-the-alternative) и эта статья: [Получение эскизов видео url или data] (http://www.amaniphoneblog.com/2015/05/getting-thumbnail-from-video-url-or-data-in-IOS.html). –

0

Чтобы получить изображение с использованием видео этого образца.

Первый импорт AVFoundation

#import <AVFoundation/AVFoundation.h> 

Создание NSURL из видео.

NSString *videoUrl = @"http://download.wavetlan.com/SVV/Media/HTTP/MP4/ConvertedFiles/Media-Convert/Unsupported/test7.mp4"; 
NSURL *url = [NSURL URLWithString:videoUrl]; 

Подготовить asset.

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url options:nil]; 
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
generate.appliesPreferredTrackTransform = YES; 

Выберите время сокращения: напр. Во втором 2 для 1 секунд.

CMTime time = CMTimeMake(2, 1); 

Получить ImageRefference и Thumbnail.

NSError *error = nil; 
CGImageRef imageRef = [generate copyCGImageAtTime:time actualTime:nil error:&error]; 

UIImage *thumbnail = [[UIImage alloc] initWithCGImage:imageRef]; 

Установите свое изображение в UIImageView.

[self.imageView setImage:thumbnail]; 

The Sample shows this image

+0

Это не работает, если видео находится в комплекте приложений или в каталоге документа. Я получаю эту ошибку при получении imageRef - «Ошибка домена = AVFoundationErrorDomain Code = -11800» Операция не может быть выполнена »UserInfo = {NSUnderlyingError = 0x124722f90 {Error Domain = NSOSStatusErrorDomain Code = -12433" (null) "}, NSLocalizedFailureReason = Произошла неизвестная ошибка (-12433), NSLocalizedDescription = Операция не может быть завершена} « –

+0

Это новая проблема. Вы должны искать, как создать 'NSURL' для локальных файлов. –

Смежные вопросы