是否可以使用SurfaceComposerClient来获取屏幕截图,就像MediaCodec使用createInputSurface()一样。
我不能使用MediaCodec因为我需要原始视频而不是编码数据。
从4.3开始,看来ScreenshotClient无法做多个截图。
答案 0 :(得分:1)
是的,假设您正在以shell
或root
运行,并且您不介意使用非公开的原生API(即您不关心每次新的应用是否会中断操作系统的版本推出。)
规范示例是screenrecord,在Android 4.4中引入。它会创建一个虚拟显示并将输出定向到Surface
。对于正常操作,MediaCodec
输入表面接收输出。对于screenrecord v1.1中引入的“bugreport”模式,输出转到GLConsumer
(大致相当于SurfaceTexture),并将其呈现给带有重叠文本的Surface
。
答案 1 :(得分:1)