首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android捕获Surface Flinger

Android捕获Surface Flinger
EN

Stack Overflow用户
提问于 2013-04-12 12:52:45
回答 1查看 1.5K关注 0票数 0

许多设备不在帧缓冲区中存储最终显示数据,因此屏幕捕获方法在这些设备上不起作用。

我想知道如何从Surface Flinger获得最终的成分数据?

如果我们能够实现从surface flinger捕获,那么它可以帮助我们在没有帧缓冲的情况下检索视频和摄像头预览。

EN

回答 1

Stack Overflow用户

发布于 2013-07-30 13:08:01

您不需要或不需要最终合成的视频数据。要录制相机预览,您只需将其输入MediaCodec (需要Android4.1,API16)。在Android4.3(API18)中,随着对MediaCodec的一些调整和MediaMuxer类的引入,这一点变得非常容易。有关示例,特别是CameraToMpegTest,请参阅this page

可以捕获合成屏幕;例如,系统UI可以捕获最近应用程序菜单的屏幕截图,DDMS/ADT可以捕获用于调试的屏幕截图。然而,你需要适当的权限才能做到这一点,而普通的应用程序没有这样的权限。它被限制为使某些网络钓鱼计划变得更加困难。

在任何情况下,您都无法捕获受DRM保护的视频。连SurfaceFlinger都看不到。

在shell中,您可以使用screencap命令(请参见source code)。

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

https://stackoverflow.com/questions/15963334

复制
相关文章

相似问题

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