カメラ ハードウェアとやり取りしてビデオを録画する Android アプリを開発しようとしています。ビデオを 10 秒間記録し、保存してサーバーに送信し (バックグラウンド スレッドで)、次の 10 秒間別のビデオを開始します。ユーザーがアプリの「停止」ボタンを押さない限り、無期限にビデオを撮影することが期待されます。ユーザーがホームボタンを押しても、ビデオ録画はバックグラウンドで続行する必要があります。
現在、ユーザーがホーム ボタンを押すと、カメラ プレビューで「Java: IO Exception: Invalid preview surface」という例外が生成されます。
これが私が使用したコードスニペットです
recorder.setOutputFile(outputFile+"_"+number+".mp4");
recorder.setPreviewDisplay( holder.getSurface());
if (recorder != null) {
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
}
}
ユーザーがホームキーを押しても、バックグラウンドで録画を続行できますか?