繁体   English   中英

Android屏幕录像机

[英]Android Screen Recorder

当我在屏幕上绘制内容并生成视频后,我正在尝试记录Android屏幕截图。 我想用“for”循环来做这个,但是当我调用getDrawingCache()方法时遇到了问题。 原则上它工作正常,但如果我在调用“绘图缓存”时在屏幕上更改某些内容,则会关闭Android应用程序而不会报告错误。 以下是我的源代码。

public void run() {
        Bitmap screenshot;
        File file;
        FileOutputStream fileOutputStream;

        this.view.setDrawingCacheEnabled(true);

        for (long i = 1; record; i++) {

            screenshot = (Bitmap) Bitmap.createBitmap(view.getDrawingCache());

            file = new File(directory, "frm" + i + ".jpg");

            try {
                fileOutputStream = new FileOutputStream(file);

                screenshot.compress(CompressFormat.JPEG, 10, fileOutputStream);

                fileOutputStream.close();
                ScreenshotRecorder.sleep(50);

            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        this.view.setDrawingCacheEnabled(false);

    }

我找了另一种方法来获得Android屏幕录像机,但我还没有找到开源应用程序。 如果有人知道如何获得Android屏幕截图,我很感激。 谢谢大家。

(我正在使用Xoom平板电脑和Android 3.0版本)

我相信你需要在调用get drawing cache之前调用view.buildDrawingCache(...) ,否则将无法获取。 你可以在这里阅读这个

尝试:

view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.buildDrawingCache(true);

从我的回答这里避免图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM