안드로이드 카메라 미리보기 없이 사진찍기

안드로이드 기기에서 사진을 찍을때 미리보기 화면이 나오는데 이걸 안나오게 하면서 사진을 찍을수 있는 방법에 대해 찾아보다가dummy surfaceview를 이용해서 찍으면 된다고 해서 해봤는데 진저브레드 2.3.3에서는 잘되는것을 확인했다.

이걸 이용해서 백그라운드 서비스를 사용해서 사진찍히는것을 확인했고 동영상도 녹화 할 수 있도록 작업을 할려다가폰이 변경되면서 진저브레드에서 갑자기 젤리빈 4.2.1로 업그레이드가 되었다.
근데 이 테스트어플이 젤리빈에선 작동을 하지 않는다.

일단 기록용으로 진저브레드에서 서비스로 카메라 작동을 할 수 있게 하는 코드

SurfaceView view = new SurfaceView(this);
c.setPreviewDisplay(view.getHolder());
c.startPreview();
c.takePicture(shutterCallback, rawPictureCallback, jpegPictureCallback);

출처: http://stackoverflow.com/questions/5788993/use-android-camera-without-surface-view

하지만 이 것은 4.0미만 버전에서만 작동하기에 다른 방법을 검색해보니 진저브레드 처럼 서비스로 구동시키는건 안되는거 같고 텍스쳐 서페이스던가로 일단 생성하고 시작하는 순간 사이즈를 1×1로 줄여버리는 방법을 쓰는거 같았음. (딱히 테스트 해보진 않았음.)


Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다