iOS 获取本地视频的缩略图

iOS 获取本地视频的缩略图

(2012-10-10 20:06:27)

转载

标签:

视频

缩略图

本地

杂谈

分类: ios

+(UIImage *)getImage:(NSString *)videoURL

{

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:videoURL] options:nil];

AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];

gen.appliesPreferredTrackTransform = YES;

CMTime time = CMTimeMakeWithSeconds(0.0, 600);

NSError *error = nil;

CMTime actualTime;

CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];

UIImage *thumb = [[UIImage alloc] initWithCGImage:image];

CGImageRelease(image);

return thumb;

}

需要添加AVFoundation和CoreMedia.framework

另外一种那个方法

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc]
                                       initWithContentURL:videoURL];
moviePlayer.shouldAutoplay = NO; 
UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:time
                     timeOption:MPMovieTimeOptionNearestKeyFrame];
//这个也一样
+(UIImage *)fFirstVideoFrame:(NSString *)path

{

    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]

                                   initWithContentURL:[NSURL fileURLWithPath:path]];

    UIImage *img = [mp thumbnailImageAtTime:0.0

                                 timeOption:MPMovieTimeOptionNearestKeyFrame];

    [mp stop];

    [mp release];

    return img;

}
时间: 2024-08-24 08:25:54

iOS 获取本地视频的缩略图的相关文章

iOS获取本地视频和网络URL视频的缩略图方法

iOS获取本地视频和网络URL视频的缩略图方法 字数222 阅读612 评论0 喜欢13 首先大家先添加AVFoundation和CoreMedia.framework两个框架 第一种本地视频获取缩略图 NSString *path = @"www.51ios.net/本地路径" MPMoviePlayerController *51iosMPMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileU

ios 获得本地视频的帧数的截图

ios 本地视频文件截图,有的类已经deprecated,提供三个函数以供使用 + (UIImage*)getVideoThumbnailWithUrl:(NSURL*)videoUrl second:(CGFloat)second size:(CGSize)size { if (!videoUrl) { NSLog(@"WARNING:videoUrl为空"); return nil; } AVURLAsset *urlSet = [AVURLAsset assetWithURL:v

Android开发之获取本地视频和获取自拍视频

1.获取本地所有视频 public void getLoadMedia() { Cursor cursor = UILApplication.instance.getApplicationContext().getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Video.Media.DEFAULT_SORT_ORDER); try { for (c

iOS 获取本地文件的各种坑

1.无论:TXT,EPUB,PDF等各种格式的文件,保存到本地的时候,最好都保存成字母或者数字,不要保存成汉字,否则,在取文件的时候,由于编码的问题,各种瓦特 2.如果文件名真的保存成了汉字,那么进行转码的方法是: [fileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];//不这样处理会返回nil]; 3.pdf的坑:由于后台返回的文件格式都是dat,需要本地动态判断文件格式,因此在判断PDF的时候,

获取本地视频

首先自己写一个视频实体类,代码如下: public class VideoEntity { public int ID;//ID public String title;//标题 public String filePath;//绝对路径 public int size;//大小 public int duration;//时长 } 再查询本地数据库,根据传入相应字段,获取数据,代码如下: private void getVideoFile(){ ContentResolver mContent

iOS获取本地ip(基本通用)

今天有个朋友问我怎样訪问手机ip,上网找了几个,用了近200多行代码,最后发现头文件用的居然还是Linux中的,OC没有这个头文件.感觉socket本身应该能够后去自己的ip就试了一下,果然7.8行代码就攻克了.这个基本是c的socket,差点儿通用,别的平台也能够使用. - (NSString *)getLocalIP{ struct sockaddr_in sa; socklen_t len = sizeof(sa); if(getsockname(sockfd, (struct socka

IOS -- 获取本地图片和网络图片的大小size

// 获取图片的size CGSize size = [UIImage imageNamed:@"regStep2_sex"].size; 获取网络图片的尺寸: // 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL { NSURL* URL = nil; if([imageURL isKindOfClass:[NSURL class]]){ URL = imageURL; } if([imageURL isKindOfCl

iOS 获取本地缓存文件大小及清除

由于项目需求中要求计算出应用内的缓存文件的大小及清除工作,做了一个小小的模块提供给大家分享,随便说句买苹果还是选个16g以上的那样妈妈就不会担心你的内存不用够用了哦! // 清除本地缓存文件 + (void)clearCacheFile { NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSArray *fi

iOS 获取本地语言

/** 获取当前是否是汉语 */ + (BOOL )getZnLaunage { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSString *currentLang = [languages objectAtIndex:0]; if([currentLang compa