【发布时间】:2017-05-10 18:40:19
【问题描述】:
我正在使用以下命令捕获 Android 模拟器屏幕:
adb shell screencap -p /sdcard/screencap.png
但是执行命令和保存 png 文件大约需要 500 毫秒,有没有更快的方法来捕获屏幕数据?我真的不需要 PNG 文件本身,只需要“图像数据”,因为我只是创建 PNG 并将其加载到 .NET Bitmap 类中以读取像素颜色。
我需要一种更快的方式来捕获图像,因为我需要每秒大约 10 张图像来与模拟器屏幕进行交互,因此录制屏幕以生成视频文件对我来说不是一个“解决方案”。
谢谢
【问题讨论】:
-
您在哪里使用数据?您是从设备中提取 PNG,然后在其他地方处理它吗?
-
我用的是逍遥模拟器,所以当我保存到/sdcard/时,它会保存在电脑上的共享文件夹中
-
你有没有联系逍遥开发者提出你的问题?
-
嗯,其实这不是 MEmu 的问题,它与我必须使用 ADB 交互的所有模拟器有关,例如 Nox、Memu、Droid4X 等。搜索更多关于此的内容,我看到有人说主要问题是生成.png文件,而不是真正获取屏幕帧缓冲区(生成.png),但我不确定如何使用'screencap'而不生成真正的.png,或者即使它真的可能
-
"但我不确定如何在不生成真正的 .png 的情况下使用 'screencap'" - 你不能。您可以使用像Droid@Screen 这样的程序使用的未记录(?)工具API。或者,按照 Ben 的建议,让 Android 应用使用媒体投影 API 并通过网络向您发送屏幕截图。