안드로이드 개발 질문/답변
(글 수 45,052)
HTC 센세이션으로 카메라 관련 어플리케이션을 작성 중에 마주쳤던 문제입니다.
Camera 인스턴스에는 setPreviewCallback이라는 메소드를 통해서 프리뷰 영상의 콜백을 작성해줄 수 있더군요.
그래서 이를 바탕으로 onPreviewFrame 메소드를 재정의해 사용하였습니다.
문제는 surfaceCreated 단계에서 Camera 인스턴스의 setPreviewCallback 이 HTC 센세이션에서는 정상 작동하는데,
삼성 갤럭시 S2에서는 정상 작동하지 않았다는 겁니다.
이를 해결한 방법으로는 surfaceChanged로 setPreviewCallback 코드 단락을 옮겨주었더니 해결되었습니다.
하지만 어째서 삼성에서는 되지 않고 HTC에서는 구동되었는지가 의문입니다.
이와 비슷한 경험이 있으시거나 유용한 링크가 있으신 분이 계신다면 답변 부탁드립니다.




카메라 부분은 진짜 속터지는 부분 중 하나죠... ㅜ.ㅡ
Zxing에서 만든 바코드 스캐너가 꽤 잘만들어진 코드라 종종 그걸 참조합니다.
정확히 뭐가 다른지는 저도 잘 모르겠네요. ^^;;;;