從iOS中的視頻網(wǎng)址或數(shù)據(jù)中獲取縮略圖我試圖從iphone 3GS相機拍攝的視頻中獲?。ǖ谝粠模┛s略圖,以便我可以顯示它。這該怎么做?
3 回答

暮色呼如
TA貢獻1853條經(jīng)驗 獲得超9個贊
這個問題的答案是,現(xiàn)在可以使用4.0 iOS獲取使用AVFoundation的縮略圖,下面的代碼,其中類屬性url是電影網(wǎng)址,將執(zhí)行操作(您可以隨時獲取縮略圖,在示例中它可以時間0)
-(void)generateImage{ AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:self.url options:nil]; AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset]; generator.appliesPreferredTrackTransform=TRUE; [asset release]; CMTime thumbTime = CMTimeMakeWithSeconds(0,30); AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){ if (result != AVAssetImageGeneratorSucceeded) { NSLog(@"couldn't generate thumbnail, error:%@", error); } [button setImage:[UIImage imageWithCGImage:im] forState:UIControlStateNormal]; thumbImg=[[UIImage imageWithCGImage:im] retain]; [generator release]; }; CGSize maxSize = CGSizeMake(320, 180); generator.maximumSize = maxSize; [generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];}

慕斯709654
TA貢獻1840條經(jīng)驗 獲得超5個贊
-(UIImage *)generateThumbImage : (NSString *)filepath{ NSURL *url = [NSURL fileURLWithPath:filepath]; AVAsset *asset = [AVAsset assetWithURL:url]; AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset]; imageGenerator.appliesPreferredTrackTransform = YES; CMTime time = [asset duration]; time.value = 0; CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL]; UIImage *thumbnail = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); // CGImageRef won't be released by ARC return thumbnail;}
您可以使用time.value獲取幀,假設(shè)您想要1秒幀然后使用
time.value = 1000 //Time in milliseconds

慕標5832272
TA貢獻1966條經(jīng)驗 獲得超4個贊
NSURL *videoURL = [NSURL fileURLWithPath:url];MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; UIImage *thumbnail = [player thumbnailImageAtTime:1.0 timeOption:MPMovieTimeOptionNearestKeyFrame]; //Player autoplays audio on init [player stop]; [player release];
- 3 回答
- 0 關(guān)注
- 849 瀏覽
添加回答
舉報
0/150
提交
取消