У меня UIImagePickerController в режиме видео;После того, как я закончу запись видео и нажму кнопку «Использовать», чтобы принять видео, я использую этот метод -(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
, и внутри него я хочу сохранить видео в рулоне камеры и извлечь первый кадр из видео, чтобы показать его в UIImageView.Код, который я использую, выглядит следующим образом:
NSString *tempFilePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
NSURL *url = [NSURL fileURLWithPath:tempFilePath];
MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.shouldAutoplay = NO;
imageView.image = [moviePlayer thumbnailImageAtTime:0.0 timeOption:MPMovieTimeOptionNearestKeyFrame];
Проблема в том, что, если я добавлю метод UISaveVideoAtPathToSavedPhotosAlbum
сбой приложения.
UISaveVideoAtPathToSavedPhotosAlbum(tempFilePath, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
, где tmpFilePath
то же самоечто я использовал выше.
Вместо этого, если я использую только одну из этой операции (UISaveVideoAtPathToSavedPhotosAlbum или получить фрейм), все работает нормально!
Консоль сообщает об этой ошибке:
Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «+ [NSInvocation invocationWithMethodSignature:]: аргумент сигнатуры метода не может быть равен нулю»
Есть идеи?Спасибо ...