I am trying to implement a camera with a focus on a special area.
So far I Have implemented a method from what I have seen in the tutorial
private void setFocusArea()
{
MeteringRectangle[] focusAreas = new MeteringRectangle[1];
Rect sensor_rect = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
Rect focusArea = new Rect(
0,
0,
sensor_rect.width()-1,
(int)(sensor_rect.height()*0.5));
focusAreas[0] = new MeteringRectangle(focusArea,MeteringRectangle.METERING_WEIGHT_MAX);
if(mCameraCharacteristics!= null
&& mCameraCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF)>0)
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_REGIONS,focusAreas);
// if(mCameraCharacteristics!= null
// && mCameraCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE)>0)
// mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_REGIONS,focusAreas);
}
So it is supposed to focus on the top 50% of the image, but it just doesn't.