使用Androids MediaProjector定时捕获屏幕截图

时间:2016-12-22 12:25:59

标签: android android-mediaprojection

我使用mtsahkis的示例在Android上实现了一个屏幕捕获系统:https://github.com/mtsahakis/MediaProjectionDemo/blob/master/src/com/mtsahakis/mediaprojectiondemo/ScreenCaptureImageActivity.java

基本实现非常有效,但我在理解如何控制屏幕截图创建速度方面遇到了问题。

我可以看到VirtualDisplay被送入一个ImageReader和一个Handler,图像阅读器附加了一个setOnImageAvailableListener,所以可能这就是限制捕获的速度,这在我的Galaxy边缘是一个不一致的1次捕获。

有没有更多使用Handler经验的人知道如何在线程上设置一致的时间吗?在创建线程时会这样做吗?

    // start capture handling thread
    new Thread()
    {
        @Override
        public void run()
        {
            Looper.prepare();
            mHandler = new Handler();
            Looper.loop();
        }
    }.start();

最佳

史蒂夫

1 个答案:

答案 0 :(得分:1)

我联系了媒体投影演示库的作者,他的建议是简单地将线程放在onImageAvailable监听器中,这对我的目的非常有用。

的Thread.sleep(mi_Delay);