特定视图的屏幕视频捕获

问题描述 投票:0回答:3

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

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

但是屏幕录像机不会记录所有元素(例如,我不想记录视图 2 - 仅对屏幕录像机使其可见性“消失”):

https://developer.android.com/about/versions/android-5.0.html#ScreenCapture - API 可以允许这样的事情吗?

android
3个回答
2
投票

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

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


1
投票

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

不,抱歉。

API 可以允许这样的事情吗?

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

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


0
投票

你可以尝试这个视图记录器,你可以使用它记录任何特定的视图

https://github.com/z4hyoung/ViewRecorder/tree/master

© www.soinside.com 2019 - 2024. All rights reserved.