首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayer海报框

AVPlayer海报框
EN

Stack Overflow用户
提问于 2016-07-05 10:57:17
回答 1查看 541关注 0票数 1

当AVPlayer在第一帧时,我想在视频中显示一个不同的帧,比如YouTube海报帧。你将如何完成这样的事情呢?

EN

回答 1

Stack Overflow用户

发布于 2016-08-04 23:00:13

您可以相应地设置任何可见图层的contents属性:

代码语言:javascript
复制
UIImage *image = [UIImage imageWithCGImage:...]; // replace ... with the CGImage returned by AVAssetImageGenerator
view.layer.contents = (__bridge id)image.CGImage;

奇怪的是,您必须创建一个UIImage,然后将其转换回CGImage以设置层的contents属性。之后,您可以使用CFRelease或使用__weak或__autoreleasing指示符,或仅使用@autoreleasepool来立即释放UIImage。

不要让任何人告诉你这是消耗内存或速度慢的。如果你通过NSThread把它从主线程中分离出来,它和其他方法一样快;而且,我以前已经用这种方式在一个屏幕上显示了80 UIImages。

但话又说回来,多线程和内存管理是我的强项,正如您在这里看到的:

https://youtu.be/7QlaO7WxjGg

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38194588

复制
相关文章

相似问题

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