画面に何かを描いているときにビデオを生成した後、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 バージョンを使用しています)