SequenceEncoder encodeImage return 出错

SequenceEncoder encodeImage return an error

我正在用屏幕截图制作视频。我已经尝试聊天了。

在这里我初始化了我的编码器。

String filename = "video.mp4";
File file = new File(getFilesDir(), filename);
enc = new SequenceEncoder(file);

这得到一个屏幕截图。

public Bitmap getScreenShot() {
    View screenView = findViewById(R.id.rootLayout);
    screenView.setDrawingCacheEnabled(true);
    //Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
    Bitmap bitmap = screenView.getDrawingCache();
    screenView.setDrawingCacheEnabled(false);
    return bitmap;
}

这是我对图像进行编码的方式。它 returns 是一个例外。

enc.encodeImage(getScreenShot());

java.lang.NullPointerException: 尝试在空对象引用

上调用虚拟方法'int org.jcodec.common.model.Picture.getWidth()'

问题是我在错误的时间要求我的布局截图,所以 getScreenShot() returns 一个空位图。

我通过从 onWindowFocusChanged 而不是 onCreate 调用它来解决它。