2011-02-24 7 views
2

getExposureCompensation() 및 getExposureCompensationStep() apis와 관련된 문제가 있습니다. 이 두 API를 호출 할 때마다 은 널 포인터 예외를 발생시킵니다. 내가 사용하는 경우 getExposureCompensation setExposureCompensation() API를 사용 후, 그럼 잘 작동합니다. 하지만 getExposureCompensationStep()의 경우 나는 선택권이 없다.Android 카메라 노출

이 문제에 대한 귀하의 의견과 제안을 부탁드립니다.

감사 Nawab

+0

매개 변수를 어떻게 획득하고 있습니까? 일부 코드와 스택 추적을 게시해야합니다. 나는 당신의 Camera.Parameters 객체가 null이라고 가정하고 있습니다. – kcoppock

+0

현재 스택 추적을 보여 줄 수는 없지만 "KEY_EXPOSURE"의 부동 소수점 값에 대한 문자열을 구문 분석하려고하면 NULL이 발견되어 nullpointer 예외가 발생한다고 말할 수 있습니다. 이것은 내 코드의 작은 조각입니다 : - camera camera = Camera.open(); 매개 변수 params = camera.getParameters(); int expcomp = params.getExposureCompensation(); float expstep = params.getExposureCompensationStep(); 완전한 코드는 다른 직장 시스템에 바로 붙여 넣을 수 없습니다. – nawab

답변

3

편집 : 문제가있다. :) 아니요 ...>

Camera에는 getExposureCompensation() 또는 getExposureCompensationStep() 메서드가 없습니다. 그것들은 당신의 Camera.Parameters 개체에 대한 방법입니다! 변경하려면 다음으로 변경하십시오.

int expcomp = params.getExposureCompensation(); 
float expstep = params.getExposureCompensationStep(); 
+0

ohhh 그 실수를 입력했다 ... 나는 코멘트를 편집하고 코멘트에서 그 실수를 수정 .... 나는 params.getExposureCompensation() 및 params.getExposureCompensationStep()를 사용하고 있습니다; 전용. 그들은 실제로 실패하고 있습니다. – nawab

+0

다른 매개 변수를 가져 오거나 설정할 수 있습니까? 디버거를 단계별로 실행하고 params가 null이 아닌지 확인하십시오. 당신이 NPE를 얻는 유일한 방법은 그것이 사실이라면, 나는 상당히 확신합니다. – kcoppock

+0

나는 노출 보정을 설정하고 그것을 얻을 수있다. 하지만 그것을 설정하지 않고, 나는 그것을 얻을 수 없습니다. 또한 나는 보상 단계를 얻을 수 없습니다. 내가 그것을 디버깅, 나는 적절한 params 개체를 찾으십시오. 문제는 카메라의 일부 매개 변수가 초기화되지 않았으므로 문제를 일으키는 참조로 보입니다. 그러나 우리 쪽에서 카메라 매개 변수를 초기화 할 방법이 없습니다. 일단 Camera.open()을 호출하면 기본값으로 초기화되어야한다고 생각합니다. – nawab

관련 문제