package com.example.cameracapture1;
import java.io.IOException;
import android.content.Context;
import android.hardware.Camera;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
//
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera = camera;
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
try {
mCamera.setPreviewDisplay(holder);
mCamera.setDisplayOrientation(90);
mCamera.startPreview();
} catch (IOException e) {
Log.d("Camera","Error setting camera preview :" + e.getMessage());
}
public void surfaceDestroyed(SurfaceHolder holder) {
}
public void surfaceChanged (SurfaceHolder holder , int format , int w , int h ) {
if(mHolder.getSurface() == null) {
return;
}
try {
mCamera.startPreview();
} catch (Exception e) {
}
try {
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
} catch (Exception e) {
Log.d("camara", "Error starting camera preview :" + e.getMessage());
}
}
}
현재 제가 생각 하기엔 } 가 잘못 씌워진것 같은데
현재 이상태에선 빨간 글로 표시 된 부분에서 Syntax error , insert "}" to complete Block 라는 오류가 나오는데
} 이게 어딘가 잘못 표기 된건 알겠는데 어느 부분인지는 잘 모르겠네요 ㅠ 책 보고 따라하는거라 그런지
소스 해석이 제대로 안되서 찾기가 어렵고 또한 배운지 얼마 안된 초보라 이런 초보적인 부분에서 막히네요
혹시나 해결을 해주신다면 감사하겠습니다.
/////////////////////////////////////////
빨간 글로 표시 하려했는데 소스로 RGB가 표현되네요
에러 부분은 surfacedestroyde 함수 윗 부분에 있는 Log.d 로 시작하는 구문 전체 입니다.