맞춤 카메라 앱을 만들려고합니다. 나는 여기에서 약간의 비틀기와 함께 안드로이드 개발자 예제를 따라 갔다. 그러나 내 카메라 미리보기는 다소 어둡습니다. 반면에 스톡 카메라는 훨씬 더 밝은 미리보기를 제공합니다.Android 카메라 미리보기가 어두움
내가 더 잘 작동하도록 여러 설정을 시도했지만 그 중 아무 것도 영향을 미치지 않는 것으로 보입니다. 관련 코드가 여기에 게시됩니다.
CameraActivity (주)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
if(CameraHelper.checkCameraHardware(this)) {
mHelper = new CameraHelper(this, getWindowManager().getDefaultDisplay());
}
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
mPreview = new CameraPreview(this, CameraHelper.camera);
mPreview.setLayoutParams(new LayoutParams(CameraHelper.mSize.width, CameraHelper.mSize.height, Gravity.CENTER));
preview.addView(mPreview);
}
CameraHelper 클래스 (카메라를 초기화하고 기본 매개 변수를 설정는)
public CameraHelper(CameraListener listener, Display display){
mListener = listener;
camera = getCameraInstance();
mParameters = camera.getParameters();
initCameraParameters();
mSize = getPreviewSize(display);
mParameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
mParameters.setPictureSize(2560, 1920);
mParameters.setAutoExposureLock(false);
mParameters.setAutoWhiteBalanceLock(false);
mParameters.set("iso", "ISO800"); //Tried with 400, 800, 600 (values obtained from flatten())
mParameters.setColorEffect("none");
mParameters.setPictureSize(2560, 1920);
mParameters.setPreviewFrameRate(20);
mParameters.set("scene-mode", "auto");
mParameters.setFocusMode("auto");
mParameters.setExposureCompensation(4);
camera.setParameters(mParameters);
}
카메라는 예로부터 SurfaceHolder.Surface로 프레임을 전송 위의 개발자 페이지에서 링크되었습니다. 주식 카메라 내 카메라 여기에 게시 된 카메라에서 Upack도 매개 변수에 따라 등등 ISO를 설정 시도
앱 앱 :
여기의 차이를 참조하십시오. 여전히 효과가 없었습니다.매개 변수 (16369) : 효과-값 = 없음, 모노, 부정적, 세피아, 아쿠아, 선명하지, 보라색, 녹색 색조, 푸른 색조, 핑크, 노랑, 빨강 색조, 모노, 골동품, 초점 거리 = 3.43, 초점 영역 = (0,0,0,0,0), 초점 거리 = 0.10,1.20, 무한대, 초점 모드 값 = 자동, 매크로, gps-altitude = 0; gps-latitude = 0; gps-longitude = 0; gps-processing-method = GPS; gps-timestamp = 0; 가로보기 각도 = 51.2; iso = 자동; ISO, ISO200, ISO400, ISO800, ISO1600, jpeg-thumbnail-height = 480, jpeg-thumbnail-size-values = 640x480,0x0, jpeg-thumbnail-width = 640, max- 최대 노출 영역 = 1, 최대 줌 = 12, 최소 노출 보정 = -4, 화상 포맷 = jpeg, 화상 포맷 값 = jpeg, 화상 사이즈 값 = 2560x1920,2560x1536,2048x1536,2048x1232,1600x1200,1600x960,800x 미리보기 형식 = yuv420sp, 미리보기 형식 값 = yuv420sp, 미리보기 fps 범위 = 15000,30000, 미리보기 fps 범위 값 = (15000,30000) 미리보기 프레임 속도 = 30 미리보기 -frame-rate-values = 30, 미리보기 크기 = 640x480, 미리보기 크기 값 = 1280x720,800x480,720x480,640x480,352x288, 회전 = 0, 장면 모드 = 자동, 장면 모드 값 = 자동, 세로 , 풍경, 야경, 해변, 설원, 일몰, 불꽃 놀이, 스포츠, 파티, 촛불, asd, 백라이트, 황혼 새벽, 텍스트, 가을 - 색상, vertical-view-angle = 39.4, video-frame-format = yuv422i-yuyv 화이트 밸런스 값 = 자동, 백열등, 형광등, 일광, 흐린 날, 줌 = 0, 줌 비율 = 100125150175200225250275300325350375400, 줌 지원 = true, 포커스 모드 = 자동, 사진 크기 = 2560x1920, 노출 보정 = 4 ;
편집 : 아래의 설명에 따라 추가 테스트를 수행하면 미리보기가 어둡게 나옵니다. 실제 캡처 된 이미지는 잘 켜져 있고 노출 보정은 정상적으로 작동하는 것 같습니다. 나에게 두통을주고있는 바로 그 시사. i9003에서 실행중인 CM11 및 Nexus 10 실행 재고 Android에서 테스트되었습니다.
설정에서 노출 보정을 높이거나 "재생"하려고 할 수 있습니다. 그것은 무엇이든 바뀌 었습니까? –
최대 지원 노출 보정 (예 : 4) (mParameters.setExposureCompensation (4))으로 사용하고 있습니다. 이 사진은 최대 노출 보정으로 촬영됩니다. – Puneet
"params.getMinExposureCompensation()"및 "params.getMaxExposureCompensation()"에서 엑스포 보상의 최대/최소값을 얻었습니까? –