Android 连续拍摄 View 的屏幕截图,以便创建视频

标签 android bitmap android-view android-image android-bitmap

我正在使用下面的代码来连续拍摄包含图像的 View 的屏幕截图。我每秒能够拍摄 12-13 张图像(位图),但从 12-13 张图像创建视频不会产生良好的质量。所以 我想知道如何每秒拍摄 24-25 张图像(位图)。 谁能告诉我其他与 android 相关的库,这样可以在一秒钟内拍摄 24-25 张图像(位图)。

下面的代码运行了 125 次,这样我每秒可以获得 24-25 个图像,但我得到了 12-13 个图像。我尝试了 5 秒,所以检查是 < 126:

    private void putCapturedBitmapToQueue()
    {           
       llCaptureArea.setDrawingCacheEnabled(true);
       llCaptureArea.buildDrawingCache();

       Bitmap objBitmap = Bitmap.createBitmap(llCaptureArea.getDrawingCache());

       llCaptureArea.setDrawingCacheEnabled(false);

       queBitmap.add(new SaveBitmap(Integer.toString(iCountIndex), objBitmap.copy(Config.RGB_565, false)));

       objBitmap.recycle();

       iCountIndex++;

       if(iCountIndex < 126)
       {
           objBitmap = null;
           putCapturedBitmapToQueue();
       }
    }

最佳答案

我想在最佳的“实验室”条件下,您的代码应该可以工作。

但是,为了每秒捕获如此多的屏幕截图 - 您必然会遇到硬件问题 - 相机速度、存储卡速度、CPU 速度、内存等等。

因此,在功能更强大的设备中,您可能会获得更高的 FPS,但您无法真正提前知道它在不同设备上的工作方式。

如果可以 - 您可能想查看屏幕录制 (Kitkat+)

here

祝你编码愉快!

关于Android 连续拍摄 View 的屏幕截图,以便创建视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25967802/

相关文章:

android - 在暗弧顶部绘制亮弧使下弧部分可见

android - 当创建它的参数发生变化时,如何替换 Android Jetpack Compose AndroidView?

android facebook-android-sdk :4. 0.0,如何去除登录进度条?

每个项目有 2 个 TextView 的 Android ListView

Android ViewPager setOnTouchListener

android - android问题中的HTML5 Canvas

c++ - 将 CDC 窗口的内容导出到 EMF 文件

java - 如何强制invalidate()?

android - 如何在 Android 中将 TextView 的文本转换为位图?

android - 如何从 View 中获取所有相对布局参数