2014-04-25 1 views
1

Android_ 사용자 정의 카메라를 사용 중입니다 .Flash_ON으로 이미지를 캡처하는 중 Nexus 4에서만 이미지가 너무 어둡습니다.하지만 다른 기기에서는 정상입니다. 제발 도와주세요 .Nexus 4의 Flash_ON with Black 이미지 캡처 android

내 코드는 아래와 같습니다 : -

CameraInfo cameraInfo = new CameraInfo(); 
    Camera.getCameraInfo(cameraId, cameraInfo); 
    Camera.Parameters parameters = camera.getParameters(); 

    Size bestPreviewSize = determineBestPreviewSize(parameters); 
    Size bestPictureSize = determineBestPictureSize(parameters); 
    mSize = bestPreviewSize; 
    parameters.setPreviewSize(bestPreviewSize.width,.setPreviewSize(bestPreviewSize.width, 
    parameters.setPictureSize(bestPictureSize.width, bestPictureSize.height); 

    if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { 
    } else { 
     parameters.setFlashMode(Parameters.FLASH_MODE_ON); 
     parameters.setSceneMode(Parameters.SCENE_MODE_AUTO); 
     parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO); 
    } 

    camera.setParameters(parameters); 

답변

2

그냥 당신이

parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 

플래시가 자동으로 해제해야 다음과 같이 설정해야 매개 변수의 값을 변경합니다. 그렇지 않으면 셔터 콜백에서 수동으로 끄기

ShutterCallback shutterCallback = new ShutterCallback() { 

    @Override 
    public void onShutter() { 
     try { 
      Parameters params = camera.getParameters(); 
      params.setFlashMode(Parameters.FLASH_MODE_OFF); 
      camera.setParameters(params); 
     } catch (Exception e) { 
     } 
    } 
};