取得视频第一帧


AVFoundationframework 

 CoreMediaframework

 

+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
   
AVURLAsset *asset = [[[AVURLAsset alloc] initWithURL:videoURL options:nil] autorelease];
   
NSParameterAssert(asset);
   
AVAssetImageGenerator *assetImageGenerator = [[[AVAssetImageGenerator alloc] initWithAsset:asset] autorelease];
    assetImageGenerator
.appliesPreferredTrackTransform = YES;
    assetImageGenerator
.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

   
CGImageRef thumbnailImageRef = NULL;
   
CFTimeInterval thumbnailImageTime = time;
   
NSError *thumbnailImageGenerationError = nil;
    thumbnailImageRef
= [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError];

   
if (!thumbnailImageRef)
       
NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError);

   
UIImage *thumbnailImage = thumbnailImageRef ? [[[UIImage alloc] initWithCGImage:thumbnailImageRef] autorelease] : nil;

   
return thumbnailImage;

} 

posted @ 2011-06-25 00:04  HA-LOU  阅读(385)  评论(0编辑  收藏  举报