为Android 4.2构建屏幕录像机

时间:2014-04-01 10:49:54

标签: android android-ndk android-source mediacodec

是否可以构建在4.2上运行的screenrecord二进制文件,或者是否有太多丢失的api? 我可以解决变更的api和库吗?因为据我所知,主要部分存在于4.2(如mediacodec)。我不需要复用器,我可以使用自己的muxing 4.2。

1 个答案:

答案 0 :(得分:2)

这很难。

Android 4.4中提供了

screenrecord,但除了一个次要API(用于拆除虚拟显示)之外,Android 4.3中还提供了所需的一切。

Android 4.2缺少一些重要的东西。 MediaMuxer类不存在,MediaCodec尚未进行createInputSurface()调用。正如你所指出的那样解决前者并不困难,但对于后者你要么必须提供MediaCodec原始YUV缓冲区(4.3之前很难做到,并且会降低你的帧速率),或者(因为screenrecord已使用私有内部API)直接与libstagefright接口实现自己的“元数据模式”处理。

我不确定虚拟显示器在4.2中的状态是什么,但你也需要那些完全可以工作。

KamcordEveryplay等公司宣传他们可以将游戏录制回Android 4.1,但我怀疑他们正在录制OpenGL ES渲染(而不是虚拟显示输出)并做了很多事情内部管道本身。