首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayerLayer的模糊内容

AVPlayerLayer的模糊内容
EN

Stack Overflow用户
提问于 2013-03-10 12:36:57
回答 1查看 787关注 0票数 1

有没有一种方法可以模糊AVPlayerLayer中显示的内容?

内容是流资产(m3u8),因此没有AVAssetReader等选项。

EN

回答 1

Stack Overflow用户

发布于 2013-12-01 21:26:15

尝试使用下一个解决方案来获取图像:

代码语言:javascript
复制
CIImage *snaphotImage = nil;
AVPlayerItem *item = ((AVPlayerLayer*)view.layer).player.currentItem;
if (item.status == AVPlayerItemStatusReadyToPlay)
{
    AVURLAsset *asset = (AVURLAsset *)item.asset;
    AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
    CGImageRef thumb = [imageGenerator copyCGImageAtTime:((AVPlayerLayer*)view.layer).player.currentTime
                                              actualTime:NULL
                                                   error:NULL];
    snapshotImage = [CIImage imageWithCGImage:thumb];
    CGImageRelease(thumb);
}

然后对其应用模糊:

代码语言:javascript
复制
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur" 
                              keysAndValues:@"inputRadius", @9.0,
                                            @"inputImage", snapshotImage, nil];
CIImage *resultImage = [filter outputImage];
UIImage *resultUIImage = [UIImage imageWithCIImage:resultImage];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15318958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档