Dev*_*evN 9 android screen-capture
经过大量的搜索和几天的实验,我还没有找到一个直接的解决方案.
我正在开发一个应用程序,用户将与屏幕上的宠物进行交互,我想让他将其保存为视频.
是否有任何"简单"的方式来捕获应用程序本身的屏幕?
我找到了一个解决方法(每秒保存一些位图,然后将它们传递给编码器)但它似乎太重了.即使帧速率为15fps,我也会很高兴
这似乎是可能的,即有一个类似的应用程序,这称为"会说话的汤姆"
这实际上取决于您实现“宠物视图”的方式。你在画布上画画吗?OpenGl ES?正常的Android视图层次结构?
不管怎样,没有像评论之一所说的那样神奇的“recordScreenToVideo()”。
你需要:
获取代表您的“帧”的位图。这取决于你如何实现你的观点。如果您自己绘制(Canvas 或 OpenGL),则将原始像素缓冲区保存为帧。如果您使用普通的视图层次结构,则将 Android 的 onDraw 子类化并保存在画布上获得的“框架”。系统调用onDraw的频率将不低于屏幕的实际“帧率”。如果需要,随后复制帧以提供 15fps 的视频。
对您的帧进行编码。看起来你已经有了一个机制可以做到这一点,你只是需要它变得更有效率。
优化编码的方法:
希望有帮助