Game Development Reference
In-Depth Information
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
// Now that the size is known, set up the camera parameters and begin
// the preview.
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG," Preview size: " + parameters.getPreviewSize());
camera.startPreview();
mGLThread.onWindowResize(w, h);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.d(TAG, "surfaceCreated");
camera = Camera.open();
try {
// THIS GIVES AN INVALID SURFACE ERROR!
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new Camera.PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera cam) {
}
});
} catch (IOException e) {
e.printStackTrace();
}
mGLThread.surfaceCreated();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// mGLThread.surfaceDestroyed();
// Surface will be destroyed when we return, so stop the preview.
// Because the CameraDevice object is not a shared resource, it's very
// important to release it when the activity is paused.
Log.d(TAG, "surfaceCreated Stop camera");
camera.stopPreview();
camera = null;
}
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
mGLThread.onWindowFocusChanged(hasFocus);
}
}
 
Search WWH ::




Custom Search