嘗試使用camera2api
實現輕拍focus
。Android攝像頭2輕擊焦點
CaptureRequest.Builder afBuilder = mPreviewBuilder;
Rect newRect=new Rect(0,0,200,200);
MeteringRectangle meteringRectangle=new MeteringRectangle(newRect,METERING_WEIGHT_DONT_CARE);
MeteringRectangle[] areas = afBuilder.get(CaptureRequest.CONTROL_AF_REGIONS);
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_REGIONS,areas);
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_AUTO);
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);
mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), mCaptureCallback, mBackgroundHandler);
在我回電話,我一直陷在一種ACTIVE_SCAN
狀態,偶爾進入FOCUS_NOT_LOCKED
狀態。我似乎永遠不會進入FOCUS_LOCKED
狀態,預覽永遠不會集中注意力。
使用三星Galaxy Note 3
我在提取'java.lang.IllegalArgumentException:rect.left必須是非負的'。你能指導我嗎? –
可能值得就此開始一個新問題。你有關於這個問題的更多信息,代碼示例等? –
使用SENSOR_INFO_ACTIVE_ARRAY_SIZE解決。我已經混合舊的相機代碼與新的'相機2'' MeteringRectangle' –