Вы говорите об использовании вызовов для генерации того, что Apple называет миниатюрными изображениями из видео в определенное время.
Для MPMoviePlayerController (то, что iOS использует для хранения видео из файлаили другой источник), есть две команды для этого.Первый генерирует одну миниатюру (изображение) из фильма в определенный момент времени, а второй генерирует набор миниатюр для временного диапазона.
В этом примере изображение через 10 секунд получаетсямувиклип, myMovie.mp4 :
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL URLWithString:@"myMovie.mp4"]];
UIImage *singleFrameImage = [movie thumbnailImageAtTime:10
timeOption:MPMovieTimeOptionExact];
Обратите внимание, что это выполняется синхронно - то есть пользователь будет вынужден ждать, пока вы получите скриншот.
Другойможно получить серию изображений из фильма из множества раз:
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc]
initWithContentURL [NSURL URLWithString:@"myMovie.mp4"]];
NSNumber time1 = 10;
NSNumber time2 = 11;
NSNumber time3 = 12;
NSArray *times = [NSArray arrayWithObjects:time1,time2,time3,nil];
[movie requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionExact];
Этот второй способ будет вызывать уведомление типа MPMoviePlayerThumbnailImageRequestDidFinishNotification
каждый раз при создании нового изображения.Вы можете настроить наблюдателя для наблюдения за этим и обработки изображения - я оставлю вас работать над этим самостоятельно!