2010-11-23 8 views
2

매우 느린 프레임 속도 비디오를 사용하고 업로드하는 카메라를 사용하는 응용 프로그램을 작성하려고했습니다. 지금 나는 이것을 읽고있다 : http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdfAndroid 카메라 사용 응용 프로그램

나의 질문은 카메라의 사용에 관한 것이었다. 위의 기사는 이미지를 미리보기 위해 캔버스를 사용합니다. 촬영하기 전에 이미지를 미리 보지 않으려한다면 어떻게해야할까요? 카메라 이미지의 미리보기를 사용할 필요가 있습니까? 아니면 사진을 찍고 결과 콜백을 캐치하여 파일에 저장하도록 takepicture를 호출 할 수 있습니까? 그렇다면 어떻게 될 것입니까? 하나는 해당 작업이 완료 될 수 복용하기 전에 이미지를 미리하지 않은 경우 :

답변

1

Q를 (내가 자바 프로그래밍을 수행 한 이후 오랜 시간이되었습니다)?
A : 아니오. 확인 포인트 6 @http://developer.android.com/reference/android/hardware/Camera.html

중요 : startPreview()를 호출하여 미리보기 화면 업데이트를 시작하십시오. 미리보기를 시작해야 사진을 찍을 수 있습니다.

Q : 카메라 이미지의 미리보기를 사용해야합니까?
A : 이미지 미리보기를 "사용"하면 camera.setPreviewCallback(...)을 설정 하시겠습니까? 그렇다면, 그렇지 않습니다. 그러나 사진을 찍기 전에 미리 캔버스에 그리는 미리보기가 필요합니까? 그렇지 않은 경우 사용자는 사진의 모양을 어떻게 알 수 있습니까?

Q : 사진을 찍어 결과 콜백을 캐치하여 파일에 저장하도록 takepicture를 호출 할 수 있습니까?
A : 예를 바이트 배열에, 당신은 미리보기 프레임에서 데이터를 복사 할 수 있습니다 camera.takePicture(...)

+0

사용자가 이미지를 볼 수 있는지 여부는 신경 쓰지 않습니다. 응용 프로그램이 시작되면 느린 프레임 속도로 카메라 이미지를 표시 할 다른 위치로 업로드하게됩니다. – Tauren

+0

이제 자바 객체의 일부가 객체를 전달하는 방식으로 다시 작동하는 것을 기억해야합니다. – Tauren

0

을 사용하여 5 월 한 다음 다른 스레드에서 당신은 당신이 원하는대로 인코딩 바이트 배열 (NV21 형식)로 변환 할 수 있습니다 (당신이 필요로하는 경우 .. 안드로이드 2.2는 JPEG로 변환 할 수있는 YuvImage 클래스에서 매우 빠른 기능을 가지고 있으며 서버에 보냅니다.

+0

지금은 사진을 찍는 응용 프로그램을 가지고 있지만 문제는 프로그램의 onCreate 부분에서 사진을 찍으려고하면 프로그램이 충돌하는 것 같습니다. 실제 미리보기가 시작되지 않았기 때문에 이것이라고 가정합니다. 응용 프로그램이 열리고 미리보기가 완전히 시작된 후에 사용할 수있는 또 다른 "on "메서드가 있습니까? – Tauren

0

은 지금은 내가 내부 사진을 촬영 호출 할 경우이 유사한 코드를 사용하여 작성함으로써 문제로 실행 해요 : itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf

그냥 충돌 ... 실제 미리보기가 설정되기 전에 사진을 찍으려고 전화하는 중 무슨 일이 일어나고 있는지 가정합니다.