从电影获取缩略图
我有一个应用程序,我可以拍摄一个video,然后将其与其他一些数据存储在核心数据中。 它被存储为可变形和“存储在外部logging文件”。 我把video剪辑放到这样一个叫做电影的对象中;
(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { movie = [info objectForKey:UIImagePickerControllerEditedImage];
我卡住的地方是从电影中得到一个缩略图。 使用MPMoviePlayerController
我必须有一个URL,但电影没有存储在任何地方。 另外从核心数据中findURL也是一个谜。
我能find的最接近的帮助是从iPhone SDK中的videourl或数据获取缩略图 。 但是我发现url问题。
我将它保存到这样的核心数据中;
NSManagedObjectContext *context = [self managedObjectContext]; NSManagedObject *newMedia = [NSEntityDescriptioninsertNewObjectForEntityForName:@"Media" inManagedObjectContext:context]; [newMedia setValue:@"Video Clip " forKey:@"title"]; [newMedia setValue:now forKey:@"date_time"]; [newMedia setValue:movie forKey:@"movie"]; [newMedia setValue:[self generateImage] forKey:@"frame"];
如果有人能够给我一个指针,我将不胜感激。
从电影中获得缩略图…
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { if ([[info objectForKey:@"UIImagePickerControllerMediaType"] rangeOfString:@"movie"].location!=NSNotFound) { MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]]; theMovie.view.frame = self.view.bounds; theMovie.controlStyle = MPMovieControlStyleNone; theMovie.shouldAutoplay=NO; UIImage *imgTemp = [theMovie thumbnailImageAtTime:0 timeOption:MPMovieTimeOptionExact]; } }
我在我的应用程序中使用这样的
- (UIImage *)imageFromMovie:(NSURL *)movieURL atTime:(NSTimeInterval)time { // set up the movie player MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; mp.shouldAutoplay = NO; mp.initialPlaybackTime = time; mp.currentPlaybackTime = time; // get the thumbnail UIImage *thumbnail = [mp thumbnailImageAtTime:time timeOption:MPMovieTimeOptionNearestKeyFrame]; // clean up the movie player [mp stop]; [mp release]; return(thumbnail); }
用过
imageView.image = [self imageFromMovie:fileURL atTime:10.0];
你可以像这样得到你的电影URL,然后使用这个URL来使用MPMoviePlayerController来获得缩略图。
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSURL * movieURL = [info valueForKey:UIImagePickerControllerMediaURL] ; . .. . .. .. }
- KVO时iOS 11 AVPlayer崩溃
- 在浏览器或本地应用程序中正确打开Facebook页面链接IOS cordova
- 如何以编程方式使用AutoLayout创build自定义UITableViewCell
- 意外的UIPageViewController行为
- 设置包默认值不会被设置
- UIWebView stringByEvaluatingJavaScriptFromString在后台
- 显示时,MBProgressHUD阻止与uiscrollview的交互
- 如何检测NSAttributedString是否包含NSTextAttachment并将其删除?
- 如何使动作识别器在animationUIImage视图中工作