This is the code for camera preview. I add this surfaceview to the framelayout.
This code gets success on emulator and my phone(S2). Yet, some of my friends said that they got error message when using this apps. They uses Sony, S3, Note3.
It is too trouble to get their phone for debugging. Thus, I hope that someone could help me. Thanks.
class Preview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
public Camera camera;
Preview(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void continues()
{
camera.startPreview();
}
public void surfaceCreated(SurfaceHolder holder) {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
int cameraCount = Camera.getNumberOfCameras();
camera = Camera.open(cameraCount-1);
camera.setDisplayOrientation(90);
try {
camera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
camera.stopPreview();
camera.release();
camera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(w/2, h/2);
camera.setParameters(parameters);
camera.startPreview();
}
}