Android 特定视图的屏幕视频捕获

Android 特定视图的屏幕视频捕获,android,Android,在安卓系统中,是否可以仅为我的应用程序活动的特定元素(视图)从屏幕上捕获(录制视频) 例如,应用程序用户请参见(所有元素都已充气): 但screen recorder不会记录所有元素(例如,我不想记录视图2-仅对screen recorder使其可见性“消失”): -API是否允许这样的操作 在安卓系统中,是否可以仅为我的应用程序活动的特定元素(视图)从屏幕上捕获(录制视频) 不,对不起 API是否允许这样的事情 这将捕获屏幕上的所有内容:视图1、视图2、状态栏、导航栏等 您当然可以使用该A

在安卓系统中,是否可以仅为我的应用程序活动的特定元素(视图)从屏幕上捕获(录制视频)

例如,应用程序用户请参见(所有元素都已充气):

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

-API是否允许这样的操作

在安卓系统中,是否可以仅为我的应用程序活动的特定元素(视图)从屏幕上捕获(录制视频)

不,对不起

API是否允许这样的事情

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


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

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


所以我可以将一些RelativeLayout(其中包含我想录制成视频的元素)转换成图像

这并不能回答您的问题,因为它不录制视频。@Commonware我使用javacv ffmpeg进行录制,所以原始android api允许获取我想看和不想看的图像(帧)和一些库(ffmpeg)在视频中录制这些图像。关于
screenscapture
API-我只是问它是否允许,但问题并不是关于这个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;
    }