/* Image data acquisition callback */
private Camera.PreviewCallback mPreviewCB = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte data[], Camera camera) {
synchronized (lockObject) {
mPreviewData = data;
}
camera.addCallbackBuffer(mPreviewBuf);
}
};
private SurfaceHolder.Callback previewCallback =
new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
MOVERIO Pro Developer's Guide (Rev.1.4)
Log.d(TAG, "surfaceDestroyed");
camera.stopPreview();
camera.release();
camera = null;
Log.d(TAG, "surfaceDestroyed");
try {
camera = Camera.open();
camera.setPreviewDisplay(holder);
} catch (RuntimeException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
camera.addCallbackBuffer(mPreviewBuf);
camera.setPreviewCallbackWithBuffer(mPreviewCB);
camera.stopPreview();
Camera.Parameters params = camera.getParameters();
/* Set camera mode to single-through-5m mode*/
int height) {
107