I am using the API 2.1 and my debug shows a max zoom value of 15. The code here does not make the camera zoom. How do I get the camera to zoom?
camera = Came
zoomIncrementer = parameters.getMaxZoom() / 2;
zoomInOut.setOnZoomInClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
zoomIncrementer += parameters.getMaxZoom() / 5;
if (zoomIncrementer > parameters.getMaxZoom()) {
zoomIncrementer = parameters.getMaxZoom();
Log.d(TAG, String.valueOf(zoomIncrementer));
}
cameraParameters();
cameraReloader();
}
});
zoomInOut.setOnZoomOutClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
zoomIncrementer -= parameters.getMaxZoom() / 5;
if(zoomIncrementer < 0){
zoomIncrementer = 0;
}
cameraParameters();
cameraReloader();
}
});
void cameraReloader() {
try {
camera.stopPreview();
} catch (Exception e) {
}
try {
camera.setPreviewDisplay(cameraHolder);
camera.startPreview();
} catch (Exception e) {
}
}
void cameraParameters() {
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
parameters.setZoom(zoomIncrementer);
parameters.setFocusMode(Parameters.FOCUS_MODE_MACRO);
parameters.setWhiteBalance(Parameters.WHITE_BALANCE_AUTO);
Log.d(TAG, String.valueOf(parameters.getMaxZoom()));
if (display.getRotation() == Surface.ROTATION_0) {
camera.setDisplayOrientation(90);
}
if (display.getRotation() == Surface.ROTATION_270) {
camera.setDisplayOrientation(180);
}
camera.setParameters(parameters);
}