2011-12-05 2 views
1

기기의 카메라 미리보기를 통해 해당 피드를 분석하는 앱을 개발 중입니다. 카메라 미리보기를 만들 수는 있지만 카메라가 자동으로 초점을 조정할 수는 없습니다.BlackBerry OS5 API를 사용하여 카메라 초점을 맞출 수 있습니까?

기본 블랙 베리 카메라 앱이 사진을 찍기 전에 이미지를 자동 초점으로 찍어 '사진 찍기'미디어 키에 응답하기 때문에 기본 하드웨어가 자동 초점을 수행 할 수 있음을 알고 있습니다.

그러나 나는 사진을 찍으려고하지 않고 계속 바코드 입력 피드를 스캔하려고합니다. 내가 블랙 베리 스톰 9500 및 볼드 9700을 모두 실행 OS5에서 테스트 한

Player _player = Manager.createPlayer("capture://video"); 
_player.realize(); 
_player.start(); 
_vc = (VideoControl) _player.getControl("VideoControl"); 

//this is added to the screen 
_viewFinder = (Field) _vc.initDisplayMode(
    VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field"); 

FocusControl focusControl = (FocusControl) _player.getControl("javax.microedition.amms.control.camera.FocusControl"); 

//this has no effect 
focusControl.setFocus(FocusControl.AUTO); 

:

여기 내 코드입니다.

답변

1

OS5에서 카메라를 포커스하는 유일한 방법은 VideoControl.getSnapshot()을 사용하는 것입니다. 다른 방법은 없습니다.

2

는이

this.player = Manager.createPlayer("capture://video"); 
this.player.realize(); 
this.videoControl = ((VideoControl)this.player.getControl("VideoControl")); 
this.field = ((Field)this.videoControl.initDisplayMode(0, "net.rim.device.api.ui.Field")); 
this.videoControl.setVisible(true); 
this.player.start(); 
try { 
     //get focuscontrol 
     FocusControl focusControl = (FocusControl)getCurrentObject().player.getControl("javax.microedition.amms.control.camera.FocusControl"); 
     if (focusControl == null) { 
      //no focus control 
     Log.Debug("Focus control not available."); 
     } else { 
     if (focusControl.isMacroSupported()) { 
      //setting macro 
      Log.Debug("Setting macro mode."); 
      focusControl.setMacro(true); 
     } else { 
      //no macro 
      Log.Debug("Macro mode not supported."); 
     } 
     if (focusControl.isAutoFocusSupported()) { 
      //setting autofocus 
      Log.Debug("Using autofocus."); 
      focusControl.setFocus(-1000); 
     } else { 
      //no autofocus 
      Log.Debug("Autofocus not supported."); 
     } 
     } 

그것은 나를 위해 작동 해보십시오!

+1

-1000은 FocusControl.AUTO (http://www.blackberry.com/developers/docs/5ocs.05api/constant-values.html#javax.microedition.amms.control.camera.FocusControl)의 상수 값입니다. AUTO) 그래서 나는 그것이 이미 가지고있는 것이라고 생각합니다. – donturner

+0

이 장치는 어떤 장치에서 사용할 수 있습니까? – donturner

+0

자동 초점 기능이있는 모든 휴대 전화에서 저에게 적합합니다. 내 생각은 코드를 초기화하는 방법에 관한 것입니다. 편집 된 코드를 사용해보십시오. – rfsk2010

관련 문제