当前位置: 代码迷 >> 综合 >> android 5.0 录像模式下只有手动对焦没有自动对焦的问题
  详细解决方案

android 5.0 录像模式下只有手动对焦没有自动对焦的问题

热度:48   发布时间:2024-01-19 17:04:02.0
1 将FocusManager.java (src\com\android\camera)中的getModeContinousFocusMode函数替换为,
private String getModeContinousFocusMode(int mode) {
        mode = getSettingModeIndex(mode);
        return MATRIX_FOCUS_MODE_CONTINUOUS[mode];
}
 
2 在VideoMode.java(src\com\mediatek\camera\mode)添加:
1)  在开始部分添加
import com.mediatek.camera.platform.ICameraDeviceManager.ICameraDevice.AutoFocusMvCallback;
2)  在文件中合适位置添加一个AutoFocusMvCallback
    protected final AutoFocusMvCallback mAutoFocusMoveCallback = new AutoFocusMvCallback() {
        @Override
        public void onAutoFocusMoving(boolean moving, android.hardware.Camera camera) {
            Log.i(TAG, "[onAutoFocusMoving]moving = " + moving);
            mIFocusManager.onAutoFocusMoving(moving);
        }
    };
3)  在doStartPreview函数的mICameraDevice.startPreview();后面添加
mICameraDevice.setAutoFocusMoveCallback(mAutoFocusMoveCallback);
4)  将cancelAutoFocus函数替换为:
    public void cancelAutoFocus() {
        Log.i(TAG, "[cancelAutoFocus] " + " mICameraDevice = " + mICameraDevice+" mIsAutoFocusCallback = "+mIsAutoFocusCallback);
        if (mICameraDevice != null) {
            mICameraDevice.cancelAutoFocus();
        }
        setFocusState(FOCUS_IDLE);
        setFocusParameters();
        mIsAutoFocusCallback = false;
    }
  相关解决方案