カメラ2 APIを使用してサービスから写真を撮るアプリケーションを作成しようとしています。Camera2 API onCaptureComplete()は呼び出されましたが、カメラの状態はまだCONTROL_AE_STATE_PRECAPTUREです。
私は、Camera2Basic sampleに基づくフラグメントから写真を細かく撮ることができます。
しかし、私がサービスに移動しようとすると、イメージは正しくキャプチャを終了しません。それは、自動露出予兆状態を過ぎて進行することはありません。
プレビューしていないと何か問題にまで絞りました。私は、Camera2Basicコードを取ってプレビューを取り除くことで、テストの断片をまとめました。その結果、同じ問題が発生します。
私は基本的にプレビューのコードを削除したCamera2Basicサンプルに基づいて、問題があるテストフラグメントをまとめました。ここにアップロードされたフラグメントコードhttp://pastebin.ca/3182401。
私はonCaptureCompleted()コールバックを取得していますが、私はここでカメラの自動露出の状態を確認するとき、それはCONTROL_AE_STATE_PRECAPTURE状態のままです。
カメラの状態のうちの1つでもまだ捕捉されていない場合、キャプチャが完了するとは思われません。
ここで何が起こっているのですか?
写真を撮った後、次の写真の準備をするためにカメラは予備捕捉状態に戻ることは可能でしょうか? – Jani
そうではありません。ドキュメントには、CONVERGEDまたはFLASH_REQUIRED状態でロックする必要があることが記載されています。その後、画像が撮影されるか、アプリケーションがandroid.control.aeLock == trueを指定してリクエストを送信し、android.control.aeLock == falseを指定してリクエストを送信します。 https://developer.android.com/reference/ android/hardware/camera2/CaptureRequest.html#CONTROL_AE_PRECAPTURE_TRIGGER – user2128112
「CONTROL_AE_STATE」は常にnullになります。どんな考え?私は同じサンプルを使用しています。複数のデバイスで試しました。 – iMDroid