IT_Programming/Android_Java

[Android] Camera TakePicture 사용시 주의 점.

JJun ™ 2013. 7. 16. 07:15

 

 


 출처: http://lsit81.tistory.com/entry/Camera-TakePicture-사용시-주의-점


 

 

1. Camera.takePicture()를 사용하는 시점에는 아래 함수를 이용하여
    Camera Preview의
영상을 얻어오고 있으면 안된다.   

    만약 Preview의 데이터를 가지고 오는 상태에서 takePicture() 기능을 사용할 경우

    단말기에 따라서 Camera Service가 죽어서 단말기를 재 부팅 하기 전까지는 카메라 기능을

    사용하지 못하는 사례가 나타날 수 있습니다.

 

 


  public final void setPreviewCallback (Camera.PreviewCallback cb);
  public final void setPreviewCallbackWithBuffer (Camera.PreviewCallback cb);
  public final void setOneShotPreviewCallback (Camera.PreviewCallback cb);

 


그러나 setOneShotPreviewCallback의 경우에는 프리뷰 데이터를 1번만 받기 때문에 속도에 영향만 없다면 Preview Callback이 필요한 경우 setOneShotPreviewCallback을 추천 합니다.

 

그렇지 않은 경우에는 잘 동기화해서 사용하셔야 되는데요... 

일부 디바이스에서 setOneShotPreviewCallback을 사용시 문제점이 보이네요... 


* 옵티머스 계열에서 

   옵티머스에서는 setPreviewCallbackWithBuffer를 사용할 경우 촬영에 문제가 발생된 경우를 경험했습니다. 


 

2. Preview Size 비율과 Picture Size 비율을 1:1로 맞춰 주어야 합니다. 

   그렇지 않으면 카메라 촬영이 안될 수 있습니다.