当前位置: 首页 > 知识库问答 >
问题:

使用MediaRecorder录制特定于屏幕的视图

陆寒
2023-03-14

我想在特定的视图链接中录制我的屏幕视频。我只想在LinearLayout中录制执行的操作。现在,<code>MediaRecorder</code>正在录制整个屏幕,如何录制屏幕的特定部分?

共有2个答案

唐和洽
2023-03-14

下面是捕获特定视图的应用程序屏幕截图的代码。

public Bitmap takeScreenShot(View view) {
        view.setDrawingCacheEnabled(true);
        view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
        view.buildDrawingCache();
        if(view.getDrawingCache() == null) return null; 
        Bitmap snapshot = Bitmap.createBitmap(view.getDrawingCache());
        view.setDrawingCacheEnabled(false);
        view.destroyDrawingCache();
        return snapshot;
    }

如果你想记录视图,你可以使用javacv库,这里是代码示例。

FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("record.mp4",256,256);
try {
    recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);
    recorder.setFormat("mp4");
    recorder.setFrameRate(30);
    recorder.setPixelFormat(avutil.PIX_FMT_YUV420P10);
    recorder.setVideoBitrate(1200);
    recorder.startUnsafe();
    for (int i=0;i< 5;i++)
    {
        view.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
        view.setDrawingCacheEnabled(false);
        recorder.record(bitmap);
    }
    recorder.stop();
}
catch (Exception e){
    e.printStackTrace();
} 
蒋何平
2023-03-14

< code>MediaRecorder与媒体投影API一起录制整个屏幕。至少从Android 8.1开始,没有录制屏幕特定部分的选项。您需要编辑全屏视频,将其裁剪为只显示对您重要的屏幕部分。

 类似资料:
  • 我试图使一个登录屏幕类似于锁定屏幕与4 TextField。我面临的问题是如何将焦点从一个文本字段切换到下一个文本字段。 当我说时,firstTextField的值被复制到secondTextField 我使用的是十进制键盘类型 } 我如何才能正确地做到这一点,任何帮助和建议请。

  • 我想让应用程序像“简易屏幕录制器”。我必须从哪里开始,因为我搜索了很多,但没有找到任何开始的链接。有任何用于创建屏幕录制器的api,而不是屏幕截图。我不想使用javacv从屏幕截图创建视频。我只想让用户启动应用程序,点击开始录制按钮,然后用户在手机上所做的一切来录制这些内容。 1) Android系统中是否有相关的api。 2) 如何在android中创建屏幕录制器应用程序。 3)是没有任何api

  • 我是swift和Xcode新手,我想知道是否有人愿意向我解释,我应该如何让我的启动屏幕显示3秒钟,然后在这段时间内稍微淡出? 我想做一个我以前构建的网页的web视图,但希望它在启动屏幕之前淡出。 我已经阅读了所有其他与该主题相关的问题,但我不理解它们。我也一直在关注一些关于这个主题的教程,但什么都没有。 有人吗,拜托?

  • Android在Kitkat和Lollipop上获得了一个新的API,用于视频捕捉屏幕。您可以通过ADB工具或代码(从Lollipop开始)来完成。 自从新的API发布以来,许多应用程序都使用了这一功能,允许录制屏幕,微软甚至还开发了自己的Google Now On tap竞争对手应用程序。 使用ADB,您可以使用: 你甚至可以在Android Studio内部完成这项工作。 我找不到任何关于如何

  • 是迄今为止用Java捕获麦克风输入的最简单方法。我想对我用屏幕视频(在屏幕录制软件中)捕获的音频进行编码,以便用户可以创建教程、幻灯片盒等。 我使用对视频进行编码<他们确实有一个用视频编码音频的教程,但他们从文件中获取音频。就我而言,音频是实时的 参考文献: 1. DavaDoc for TargetDataLine:http://docs.oracle.com/javase/1.4.2/docs