создание миниатюры из видео с помощью средства выбора очень просто. Однако, когда я нажимаю PLAY в окне выбора, а затем выбираю видео, моя миниатюра всегда остается черной. Я надеялся, что он сделает снимок экрана - однако этот метод снимает только первое изображение видео - и ТОЛЬКО ЕСЛИ ЭТО НЕ ПРОИГРЫВАЛИ!
Как сделать миниатюру в любом месте видео?
Вот «нормальный» код, который я использую для эскизов, когда видео не воспроизводилось:
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection {
CGSize size = viewImage.size;
CGFloat ratio = 0;
if (size.width > size.height) {
ratio = 80.0 / size.width;
} else {
ratio = 80.0 / size.height;
}
CGRect rectForthumbnail = CGRectMake(0.0, 0.0, ratio * size.width, ratio * size.height);
UIGraphicsBeginImageContext(rectForthumbnail.size);
CGRect clipRect = CGRectMake(0.0, 0.0,74,74);
[viewImage drawInRect:clipRect];
dance.thumbnailImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
К сожалению, после нажатия «PLAY» созданный эскиз становится черным (показывает только верхнюю часть экрана iphone, где отображается видеопрокат и текущая позиция воспроизведения), оставшаяся часть эскиза всегда остается черным. Как уже было сказано, в других случаях это работает хорошо.
Большое спасибо!