일단 위젯에 적용시키기 전에 Flash 컨트롤에 대해 알아보겠습니다.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html
개발자 사이트의 Reference를 살펴보면 Falsh Mode의 Summary는 다음과 같습니다.
총 5가지지만 실제 Device에 적용시킬 수 있는 MODE는 한정되있다는것을 일단 인식하시고
각 Summary에 대해 알아보면
위의 Summary중에 중요한것은 바로 FLASH_MODE_ON 과 FLASH_MODE_TORCH 입니다.
이 둘의 차이점은 상당히 모호 한데요 써치를 해보면 FLASH_MODE_TORCH로 해야 Flash가 나온다는 글도 있고
FLASH_MODE_ON으로 해야 Flash가 나온다는 글도 있습니다.
depending on the driver의 영향이 의외로 큰가 봅니다. 따라서 각 Device마다 맞는 On/Off Mode가 존재 하는거 같군요.
본론으로 들어가서 LED FLASH MODE를 사용하는 순서는
Camera camera = Camera.open(); 카메라를 활성화 하고
Camera.Parameters Parameters = camera.getParameters(); 카메라의 파라미터를 가져와
Parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 원하는 MODE를 SET 해주면 됩니다.
잊지 말아야 할 것은 Camera 사용법 과 동일하게 종료후 release()를 하셔야 된다는 점입니다.
또 다른점은 Preview를 생성 하지 않아도 Flash 컨트롤은 가능 하다라는 점입니다.
그럼 각 Device에서 지원하는 Flash Mode를 어떻게 확인하는가? 라는 의문이 생기실 수 있겠네요
바로 Parameters.getSupportedFlashModes() 를 사용하여 Log를 찍어보시면 해당 Device에서 지원하는 모드의
Constant Value 를 확인 하실 수 있습니다.
Flash가 없는 Galaxy S의 경우 [ null ]
Flash가 있는 베가LTE EX, 미라크의 경우 [ off, auto, on, torch ]
위처럼 각 Device마다 지원하는 Flash의 Mode가 다르다는것을 확인 할 수 있습니다.
'Android' 카테고리의 다른 글
마이크 음량 디스플레이 하기 (11) | 2012.04.23 |
---|---|
팝업 Activity의 애니매이션 처리 (0) | 2012.04.21 |
안드로이드 단말기 정보 명령어 모음 (1) | 2012.04.08 |
손전등(플레시) 위젯 어플 만들기 - 1(① 토글 위젯) (1) | 2012.04.07 |
안드로이드 효과음(SoundPool) (0) | 2012.04.02 |