在 Android 中是否可以仅针对我的应用程序活动的特定元素(视图)从屏幕捕获(录制视频)?
例如应用程序的用户会看到(所有元素都被夸大):
但是屏幕录像机不会记录所有元素(例如,我不想记录视图 2 - 仅对屏幕录像机使其可见性“消失”):
https://developer.android.com/about/versions/android-5.0.html#ScreenCapture - API 可以允许这样的事情吗?
很棒,我们可以将视图转换为图像,然后将其用于记录(例如与其他图像 - 来自相机的帧混合)
public Bitmap viewToBitmap(View view) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
所以我可以将一些RelativeLayout(其中包含我想要录制到视频中的元素)转换为图像
在 Android 中是否可以仅针对应用程序活动的特定元素(视图)从屏幕捕获(录制视频)?
不,抱歉。
API 可以允许这样的事情吗?
这将捕获屏幕上的所有内容:视图 1、视图 2、状态栏、导航栏等。
您当然可以使用该 API 启动您自己的媒体投影会话,并作为其中的一部分自行隐藏视图 2。但是,视图 2 将对用户和屏幕录制隐藏。 Android SDK 中没有任何内容支持向用户显示一件事,但让媒体投影忽略某些项目。
你可以尝试这个视图记录器,你可以使用它记录任何特定的视图