iOS 根据视频url获取某一帧图片并实现三级缓存
来源:互联网 发布:在这网络里认识你铃声 编辑:程序博客网 时间:2024/05/18 07:44
该代码实现借助SDImageCache缓存机制实现三级缓存
创建一个UIImageView 的Category 导入 SDImageCache
#import <SDWebImage/SDImageCache.h>
- (void)videoImageWithvideoURL:(NSURL *)videoURL atTime:(NSTimeInterval)time { //先从缓存中找是否有图片 SDImageCache *cache = [SDImageCache sharedImageCache]; UIImage *memoryImage = [cache imageFromMemoryCacheForKey:videoURL.absoluteString]; if (memoryImage) { self.image = memoryImage; return; }else{ UIImage *diskImage = [cache imageFromDiskCacheForKey:videoURL.absoluteString]; if (diskImage) { self.image = diskImage; return; } } if (!time) { time = 1; } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; NSParameterAssert(asset); AVAssetImageGenerator *assetImageGenerator =[[AVAssetImageGenerator alloc] initWithAsset:asset]; 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] : nil; dispatch_async(dispatch_get_main_queue(), ^{ SDImageCache *cache = [SDImageCache sharedImageCache]; [cache storeImage:thumbnailImage forKey:videoURL.absoluteString toDisk:YES]; self.image = thumbnailImage; }); }); }
阅读全文
0 0
- iOS 根据视频url获取某一帧图片并实现三级缓存
- iOS开发之视频根据url获取第一帧图片,获取任一帧图片
- ios根据视频地址获取某一帧的图像
- ios根据视频地址获取某一帧的图像
- ios 根据url获取html,并解析
- 视频根据url获取第一帧图片,获取任一帧图片
- Android获取视频某一帧图片
- iOS 获取视频某一帧图像
- 根据url路径获取图片并显示到ListView中
- android 图片三级缓存实现
- 实现三级缓存加载图片
- 自己实现图片三级缓存
- iOS开发 根据URL获取图片的尺寸
- ios 多线程加载图片,并实现缓存
- 根据图片url获取图片尺寸
- 根据图片url获取图片尺寸
- 根据图片url获取图片尺寸
- 根据Url 获取图片尺寸 iOS
- python_lintcode_700Cutting a Rod_418整数转罗马数字
- 模型的定义
- WPF
- iOS 根据时间戳获取星期几
- PHP_SCREW 加密
- iOS 根据视频url获取某一帧图片并实现三级缓存
- vs各种目录库的配置总结
- Simulator 定位设置 TouchID/FaceID模拟
- BZOJ1096 [ZJOI2007]仓库建设
- NSUserDefaults 存数据 Attempt to insert non-property list object
- eclipse怎么设置.vm,.ftl文件高亮
- 信息安全管理系统的自研之路----系统架构
- Unknown error finalizing or resetting statement (5: database is locked)
- iOS 计算文本的高度