package cz.papezzde;
import java.io.IOException;
import java.util.List;
import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Size;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.SurfaceHolder.Callback;
public class CameraTest extends Activity implements Callback {
private Camera mCamera;
private boolean mPreviewRunning;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SurfaceView cameraSurface = (SurfaceView) findViewById(R.id.surface_camera);
SurfaceHolder surfaceHolder = cameraSurface.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (mPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters p = mCamera.getParameters();
List<Size> l = p.getSupportedPreviewSizes();
p.setPreviewSize(l.get(0).width, l.get(0).height);
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
mCamera.startPreview();
mPreviewRunning = true;
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
mCamera = Camera.open();
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
mCamera.stopPreview();
mPreviewRunning = false;
mCamera.release();
}
}
|