2012-08-01 3 views
0

상황을 설명하겠습니다. 마커가 나타나면 카메라를 일시 중지하는 방법을 알아 내려고 노력 중입니다. 마커가 의미하는 것은이 링크에서 표시됩니다.안드로이드 카메라를 사용하는 안드로이드 방법을 사용하여

http://code.google.com/p/andar/

마크가 나는 마커가 늘도 카메라가 이동하지만 사라 있도록 카메라를 일시 정지 할 수있는 방법을 원하는 등장합니다. 게임을 할 때 카메라가 조깅을 할 수 있지만 표시가 여전히 올바른 위치에 머물러 있기 때문에 이렇게해야합니다. 여기 큐브

public final void draw(GL10 gl) { 
     super.draw(gl); 

     gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_SPECULAR,mat_flash); 
     gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_SHININESS, mat_flash_shiny);  
     gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_DIFFUSE, mat_diffuse); 
     gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_AMBIENT, mat_ambient); 

     //this code draws the cube. 
     gl.glColor4f(0, 1.0f, 0, 1.0f); 
     gl.glTranslatef(0.0f, 0.0f, 12.5f); 


     // experement with the api 
     //draw the box 
     box.draw(gl); 
    } 

묘화에 사용

공용 클래스 CustomActivity가 AndARActivity 연장 마커 활동 {

CustomObject2 someObject; 
ARToolkit artoolkit; 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    CustomRenderer renderer = new CustomRenderer();//optional, may be set to null 
    super.setNonARRenderer(renderer);//or might be omited 
    try { 
     //register a object for each marker type 
     artoolkit = super.getArtoolkit(); 
     someObject = new CustomObject2 
      ("test", "patt.hiro", 80.0, new double[]{0,0}); 
     artoolkit.registerARObject(someObject); 
     someObject = new CustomObject2 
     ("test", "android.patt", 80.0, new double[]{0,0}); 
     artoolkit.registerARObject(someObject); 
     someObject = new CustomObject2 
     ("test", "barcode.patt", 80.0, new double[]{0,0}); 
     artoolkit.registerARObject(someObject); 
    } catch (AndARException ex){ 
     //handle the exception, that means: show the user what happened 
     System.out.println(""); 
    }  
    startPreview(); 
} 

/** 
* Inform the user about exceptions that occurred in background threads. 
* This exception is rather severe and can not be recovered from. 
* TODO Inform the user and shut down the application. 
*/ 
public void uncaughtException(Thread thread, Throwable ex) { 
    Log.e("AndAR EXCEPTION", ex.getMessage()); 
    finish(); 
} 

}

@Override

연신 함수 형태의 코드는 startPreview 함수 주위에 코드를 래핑 할 것인가? 또는 객체가 그려지는지 확인하고 그 방식으로 미리보기를 중지해야합니까?

이 명령을 발견했지만 마커를 표시 할 때이를 구현하는 방법을 잘 모르겠습니다. 나는 어떤 상태가 필요하지만 그것이 무엇인지를 모른다는 것을 압니다. camera.stopPreview();

+0

andar 태그 –

+0

추가 했습니까? 게시 한 코드는 프로젝트 페이지에 제공되는 기본값입니다. –

+0

일시 정지 기능을 추가하려고했지만 계속 충돌합니다. 그것은 올바른 접근 방법입니다. 나는 내 코드 – alex

답변

2

처리를 위해 카메라 미리보기 버퍼 전송을 중단하는 코드를 추가해보십시오. 그렇게하면 카메라 미리보기가 계속 렌더링되지만 새 프레임은 처리되지 않습니다.

+0

을 고칠 것이다. 좋은 생각처럼 들리 네. 나는 그것을 시도한다 – alex

+0

당신은 평가할 수 있었다. 내가 시작 코드 주위에 코드를 래핑하겠습니까? – alex

+0

감사합니다. – alex

관련 문제