2016-05-31 22 views
3

カメラ2を使用して画像を撮影し、フラッシュモードをautoに設定しました。私は次のようにリクエストパラメータを設定します。Androidカメラ2のフラッシュは、暗い場所では自動発光モードで発光しません。

CaptureRequest.Builder stillCaptureBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); 
stillCaptureBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH); 

上記のコードでは、フラッシュは暗い場所で発光させる必要があります。しかし、期待どおりに動作しませんでした。フラッシュは低照度の条件で発射されませんでした。

カメラ2を自動発光モードに設定するにはどうすればよいですか?

+0

ねえ、あなたが解決策を見つけたためにこれをしてみてください?私は同じ問題に直面しています。 – iMDroid

答えて

1

私があなたを助けることができるかどうかを見てみましょう!

あなたがAE_MODE使用している場合はOFFにFlash_modeを設定してください:あなたのビルダーとコールバックに再びrepeatingRequestを設定し、プレビューを更新

builder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON); 
builder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_OFF); 

以降を:

mCaptureSession.setRepeatingRequest(builder.build(), 
        callback, backgroundHandler); 

はまた、もしあなたのことを覚えて すべてが正しく設定されているかどうかを確認したい場合は、写真を撮影する前または撮影する前にcaptureCalbackの戻り値からresult.get(CaptureResult.FLASH_STATE)を使用してフラッシュの状態を回復できます。

他の方法では、フラッシュが撮影されているときにプレビューを更新しないようにするか、撮影前に写真の前にフラッシュをオフにすることを忘れないでください。

+0

これは問題を解決しません..他の方法はありますか?私はオートフラッシュと同じ問題があります。 – iMDroid

0

は、オートフラッシュ

// Use the same AE and AF modes as the preview. 
      captureStillBuilder.set(CaptureRequest.CONTROL_AF_MODE, 
        CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE); 
      captureStillBuilder.set(CaptureRequest.CONTROL_AE_MODE, 
        CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH); 
関連する問題