티스토리 뷰

졸업작품

PreviewCallback method

doublemetal 2013. 5. 14. 01:41

레이아웃의 SurfaceView와 SurfaceHolder를 연결해서

카메라 프리뷰 화면을 띄우는 것까지 성공.


 PreviewCallback method를 이용해서 YUV를 RGP로 바꾼뒤 보내든 바꾸지 않고 보내든

소켓통신으로 서버에 전송해야 되는데 콜백 메시지 넣는 코드만 넣으면 강제종료 되었다.


한참 헤매다 camera.setPreviewCallback(this)의 위치 문제인걸 깨달았다.

onCreate에 두었었는데 여기가 아니라


public void surfaceCreated(SurfaceHolder holder) {

// TODO Auto-generated method stub

myCamera = Camera.open();

try {

myCamera.setPreviewCallback(this);

myCamera.setPreviewDisplay(holder);

} catch (IOException exception) {

myCamera.release();

myCamera = null;

}

}

이곳으로 옮기니 잘 실행되었다.



전에 만들어놓은 소켓 생성 클래스와 연동하여 서버로 전송하는 것까지 테스트하였다.

전송 파라미터 조금 수정해서 자바 서버에서 이미지 재생하는 것까지 해야된다.

compressToJpeg 메소드로 RGB로 변환하는 소스도 넣어보았는데 버벅거린다는 느낌은 별로 들지 않는다.



PreviewCallback method 관련 출처

http://hardwaresoftwarefreeinfomation.blogspot.kr/2011/07/android-developers-re-how-to-use-camera.html



댓글
댓글쓰기 폼