屏幕视频捕获特定视图

时间:2017-06-19 21:58:38

标签: android

Android中是否有可能仅针对我应用的活动的特定元素(视图)从屏幕捕获(录制视频)?

例如,应用程序的用户看到(所有元素都被夸大):

enter image description here

但是屏幕录像机不会记录所有元素(例如我不想记录视图2 - 使其可见性"消失了#34;仅用于屏幕录像机):

enter image description here

https://developer.android.com/about/versions/android-5.0.html#ScreenCapture - API是否可以允许这样的内容?

2 个答案:

答案 0 :(得分:2)

  

Android中是否有可能仅针对我应用的活动的特定元素(视图)从屏幕捕获(录制视频)?

不,抱歉。

  

是API可以允许这样的东西吗?

这将捕获屏幕上的所有内容:视图1,视图2,状态栏,导航栏等。

您当然可以使用该API启动自己的媒体投影会话,并自行隐藏View 2作为其中的一部分。但是,View 2将隐藏在用户和屏幕录制之外。 Android SDK中没有任何内容支持向用户显示一件事,但让媒体投影忽略某些项目。

答案 1 :(得分:1)

很好,我们可以将视图转换为图像,然后将其用于记录(与其他图像混合 - 例如来自相机的帧)

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(包含我要录制的元素转换为视频)转换成图像