0

私の問題を完全に理解するには、アプリの正確な流れを知る必要があります。ここで簡単に説明しました:

アクティビティ 1: 状態 = 0: ボタンをクリックすると、カメラでオートフォーカスが呼び出されて写真が撮影され、状態が 1 にインクリメントされ、2 番目の写真をキャプチャするためにプレビューが再び開始されます。状態 = 1: ボタンをクリックすると、2 番目の写真が撮影されます (オートフォーカスを再度呼び出さずに、つまりカメラの古い状態を使用して、両方の画像のフォーカス状態が同じであることを確認します。状態がインクリメントされ、CAMERA がこの時点でリリースされます)。ポイント、およびアクティビティ 2 が開始されます。

アクティビティ 2: 状態 = 2: ユーザーが両方の画像に満足している場合、画像をタップするとフローが進みます。この段階で戻るボタンを押すと、アクティビティ 1 に戻り、そこで 2 番目の画像をキャプチャできます(または両方の写真をもう一度)。彼がアクティビティ 1 にリダイレクトされたときに、両方の写真を再度撮影することを選択した場合、カメラは最初の写真を撮るために再び焦点を合わせ、同じカメラ設定で 2 番目の写真を撮ることができるため、問題はありません。ここで、ユーザーが 2 番目の写真のみを撮り直したい場合に問題が発生します。何が起こるかは、カメラがここに焦点を合わせておらず、写真がぼやけており、後の段階でこれらの両方の画像がマージされ、これらの両方の画像が同じ焦点を持っていない場合です。 /ホワイト バランス、統合された写真ではっきりと見えます。

アクティビティが閉じられたときのカメラの状態を保存して、後でユーザーが戻ってきたときに再利用できるようにする方法はありますか?

4

1 に答える 1

0

唯一の解決策は、カメラを解放しないことです。機能を確認できますvoid setAutoExposureLock(boolean toggle)が、カメラの寿命の間だけ露出をロックします。

于 2013-03-21T12:49:16.753 に答える