Java 类android.hardware.Camera.AutoFocusCallback 实例源码

项目:WeiXinRecordedDemo    文件:MediaRecorderBase.java   
/**
 * 自动对焦
 *
 * @param cb
 * @return
 */
public boolean autoFocus(AutoFocusCallback cb) {
    if (camera != null) {
        try {
            camera.cancelAutoFocus();

            if (mParameters != null) {
                String mode = getAutoFocusMode();
                if (StringUtils.isNotEmpty(mode)) {
                    mParameters.setFocusMode(mode);
                    camera.setParameters(mParameters);
                }
            }
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:WeiXinRecordedDemo    文件:MediaRecorderBase.java   
/**
 * 自动对焦
 *
 * @param cb
 * @return
 */
public boolean autoFocus(AutoFocusCallback cb) {
    if (camera != null) {
        try {
            camera.cancelAutoFocus();

            if (mParameters != null) {
                String mode = getAutoFocusMode();
                if (StringUtils.isNotEmpty(mode)) {
                    mParameters.setFocusMode(mode);
                    camera.setParameters(mParameters);
                }
            }
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:PaoMovie    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    this.context=context;
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /* 
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:CXJPadProject    文件:OrcVinActivity.java   
@Override
public void surfaceChanged(final SurfaceHolder holder, int format, int width, int height) {
    if (mycamera != null) {
        mycamera.autoFocus(new AutoFocusCallback() {
            @Override
            public void onAutoFocus(boolean success, Camera camera) {
                if (success) {
                    synchronized (camera) {
                        new Thread() {
                            public void run() {
                                initCamera(holder);
                                super.run();
                            }
                        }.start();
                    }
                }
            }
        });
    }
}
项目:microbit    文件:CameraActivity_OldAPI.java   
/**
 * Setups preview button to take a picture state.
 */
private void setPreviewForPicture() {
    mPreview.setSoundEffectsEnabled(false);
    mPreview.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            mCamera.autoFocus(new AutoFocusCallback() {
                @Override
                public void onAutoFocus(boolean arg0, Camera arg1) {
                    //TODO Is there anything we have to do after autofocus?
                }
            });
        }
    });
}
项目:microbit    文件:CameraActivity_OldAPI.java   
/**
 * Resets camera parameters and starts camera preview.
 */
private void resetCam() {
    try {
        Camera.Parameters parameters = mCamera.getParameters();
        logi("Set Flash mode ON");
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
        mCamera.setParameters(parameters);
        mCamera.startPreview();
        mCamera.autoFocus(new AutoFocusCallback() {
            public void onAutoFocus(boolean success, Camera camera) {
                //TODO: add implementation or leave a comment if it's nothing to do here
            }
        });
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        mCamera.setParameters(parameters);
    } catch(RuntimeException e) {
        Log.e(TAG, e.toString());
    }
}
项目:meipai-Android    文件:MediaRecorderBase.java   
/**
 * 自动对焦
 *
 * @param cb
 * @return
 */
public boolean autoFocus(AutoFocusCallback cb) {
    if (camera != null) {
        try {
            camera.cancelAutoFocus();

            if (mParameters != null) {
                String mode = getAutoFocusMode();
                if (StringUtils.isNotEmpty(mode)) {
                    mParameters.setFocusMode(mode);
                    camera.setParameters(mParameters);
                }
            }
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:meipai-Android    文件:MediaRecorderBase.java   
/**
 * 手动对焦
 *
 * @param focusAreas 对焦区域
 * @return
 */
@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public boolean manualFocus(AutoFocusCallback cb, List<Area> focusAreas) {
    if (camera != null && focusAreas != null && mParameters != null && DeviceUtils.hasICS()) {
        try {
            camera.cancelAutoFocus();
            // getMaxNumFocusAreas检测设备是否支持
            if (mParameters.getMaxNumFocusAreas() > 0) {
                // mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);//
                // Macro(close-up) focus mode
                mParameters.setFocusAreas(focusAreas);
            }

            if (mParameters.getMaxNumMeteringAreas() > 0)
                mParameters.setMeteringAreas(focusAreas);

            mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
            camera.setParameters(mParameters);
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:SmartMath    文件:ActivityQuickRecog.java   
public void takeAction(final int nAction) {
if (CameraPreview.msnFocusMode != 0)    {   // if not support autofocus
    mcameraPreview.mbTakeSnapshot = true;
    mcameraPreview.mnActionAfterTakingSnapshot = nAction;
    Toast.makeText(ActivityQuickRecog.this, ActivityQuickRecog.this.getString(R.string.camera_preview_clicked), Toast.LENGTH_SHORT).show();
      } else if (mCamera != null) {
        //mCamera.cancelAutoFocus();    // cancel existing auto focus. comment this line because cancel autofcus may hang
        try {
        mCamera.autoFocus(new AutoFocusCallback() {
            @Override
            public void onAutoFocus(boolean success, Camera camera) {
                mcameraPreview.mbTakeSnapshot = true;
                mcameraPreview.mnActionAfterTakingSnapshot = nAction;
                Toast.makeText(ActivityQuickRecog.this, ActivityQuickRecog.this.getString(R.string.camera_preview_clicked_and_autofocused),
                        Toast.LENGTH_SHORT).show();
            }
        }); 
        } catch(Exception e) {
              Toast.makeText(ActivityQuickRecog.this, ActivityQuickRecog.this.getString(R.string.camera_preview_fail_to_autofocus),
                      Toast.LENGTH_SHORT).show();
        }
      }
  }
项目:videorecord    文件:MediaRecorderActivity.java   
@Override
public boolean onTouch(View v, MotionEvent event) {
    if (mMediaRecorder == null || !mCreated) {
        return false;
    }

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        //检测是否手动对焦
        showFocusImage(event);
        if (!mMediaRecorder.onTouch(event, new AutoFocusCallback() {
            @Override
            public void onAutoFocus(boolean success, Camera camera) {
                mFocusImage.setVisibility(View.GONE);

            }
        })) {
            return true;
        } else {
            mFocusImage.setVisibility(View.GONE);
        }
        mMediaRecorder.setAutoFocus();
        break;
    }
    return true;
}
项目:QRDataTransfer-Android    文件:CameraPreview.java   
@SuppressWarnings("deprecation")
    public CameraPreview(Context context, Camera camera,
                         PreviewCallback previewCb,
                         AutoFocusCallback autoFocusCb) {
        super(context);
        mCamera = camera;
        previewCallback = previewCb;
        autoFocusCallback = autoFocusCb;

        /* 
         * Set camera to continuous focus if supported, otherwise use
         * software auto-focus. Only works for API level >=9.
         */
        //API9以上实现连续对焦

//        Camera.Parameters parameters = camera.getParameters();
//        for (String f : parameters.getSupportedFocusModes()) {
//            if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
//              parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
//                autoFocusCallback = null;
//                break;
//            }
//        }


        // Install a SurfaceHolder.Callback so we get notified when the
        // underlying surface is created and destroyed.
        mHolder = getHolder();
        mHolder.addCallback(this);

        // deprecated setting, but required on Android versions prior to 3.0
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }
项目:Logistics    文件:CameraActivity.java   
private void initSurfView() {
    surfaceView = (SurfaceView) findViewById(R.id.surface_view);
    mSurfaceHolder = surfaceView.getHolder();
    mSurfaceHolder.addCallback(this);
    mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    mAutoFocusCallback = new AutoFocusCallback() {

        @Override
        public void onAutoFocus(boolean success, Camera camera) {
            if (success) {
                Log.i(TAG, "�Խ��ɹ�");
            } else {

            }
        }
    };
}
项目:Pixtern-Library    文件:FdActivity.java   
public void takePicture() {
    mCamera.setPreviewCallback(null);
    mCamera.autoFocus(new AutoFocusCallback() {
        @Override
        public void onAutoFocus(boolean success, Camera camera) {
            if(success)
            {                           
                Log.d(TAG, "Focusing...successful.");
                camera.takePicture(null, null, null, mCall);
            }
            else
            {
                Log.d(TAG, "Focusing...failed.");
                camera.takePicture(null, null, null, mCall);
            }

        }
    });
}
项目:KendaliPintuAndroid    文件:BarcodePreview.java   
public BarcodePreview(Context context, Camera camera, PreviewCallback previewCb, AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }

    mHolder = getHolder();
    mHolder.addCallback(this);
}
项目:openxface-android    文件:XCameraPreview.java   
public XCameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    mPreviewCallback = previewCb;
    mAutoFocusCallback = autoFocusCb;

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:WeiXinRecordedDemo    文件:MediaRecorderBase.java   
/**
 * 手动对焦
 *
 * @param focusAreas 对焦区域
 * @return
 */
@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public boolean manualFocus(AutoFocusCallback cb, List<Area> focusAreas) {
    if (camera != null && focusAreas != null && mParameters != null && DeviceUtils.hasICS()) {
        try {
            camera.cancelAutoFocus();
            // getMaxNumFocusAreas检测设备是否支持
            if (mParameters.getMaxNumFocusAreas() > 0) {
                // mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);//
                // Macro(close-up) focus mode
                mParameters.setFocusAreas(focusAreas);
            }

            if (mParameters.getMaxNumMeteringAreas() > 0)
                mParameters.setMeteringAreas(focusAreas);

            mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
            camera.setParameters(mParameters);
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:WeiXinRecordedDemo    文件:MediaRecorderBase.java   
/**
 * 手动对焦
 *
 * @param focusAreas 对焦区域
 * @return
 */
@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public boolean manualFocus(AutoFocusCallback cb, List<Area> focusAreas) {
    if (camera != null && focusAreas != null && mParameters != null && DeviceUtils.hasICS()) {
        try {
            camera.cancelAutoFocus();
            // getMaxNumFocusAreas检测设备是否支持
            if (mParameters.getMaxNumFocusAreas() > 0) {
                // mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);//
                // Macro(close-up) focus mode
                mParameters.setFocusAreas(focusAreas);
            }

            if (mParameters.getMaxNumMeteringAreas() > 0)
                mParameters.setMeteringAreas(focusAreas);

            mParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
            camera.setParameters(mParameters);
            camera.autoFocus(cb);
            return true;
        } catch (Exception e) {
            if (mOnErrorListener != null) {
                mOnErrorListener.onVideoError(MEDIA_ERROR_CAMERA_AUTO_FOCUS, 0);
            }
            if (e != null)
                Log.e("Yixia", "autoFocus", e);
        }
    }
    return false;
}
项目:LLApp    文件:CameraView.java   
/**
 * 手动聚焦
 *  @param point 触屏坐标
 */
protected void onFocus(Point point,AutoFocusCallback callback){
    Parameters parameters=mCamera.getParameters();
    //不支持设置自定义聚焦,则使用自动聚焦,返回
    if (parameters.getMaxNumFocusAreas()<=0) {
        mCamera.autoFocus(callback);
        return;
    }
    List<Area> areas=new ArrayList<Area>();
    int left=point.x-300;
    int top=point.y-300;
    int right=point.x+300;
    int bottom=point.y+300;
    left=left<-1000?-1000:left;
    top=top<-1000?-1000:top;
    right=right>1000?1000:right;
    bottom=bottom>1000?1000:bottom;
    areas.add(new Area(new Rect(left,top,right,bottom), 100));
    parameters.setFocusAreas(areas);
    try {
        //本人使用的小米手机在设置聚焦区域的时候经常会出异常,看日志发现是框架层的字符串转int的时候出错了,
        //目测是小米修改了框架层代码导致,在此try掉,对实际聚焦效果没影响
        mCamera.setParameters(parameters);
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
    mCamera.autoFocus(callback);
}
项目:ZbarCode    文件:CameraPreview.java   
@SuppressWarnings("deprecation")
  public CameraPreview(Context context, Camera camera, PreviewCallback previewCb, AutoFocusCallback autoFocusCb) {
      super(context);
      mCamera = camera;
      previewCallback = previewCb;
      autoFocusCallback = autoFocusCb;

/*
       * Set camera to continuous focus if supported, otherwise use software
 * auto-focus. Only works for API level >=9.
 */

      Camera.Parameters parameters = camera.getParameters();
      for (String f: parameters.getSupportedFocusModes()) {
          if (f == Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
              parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
              autoFocusCallback = null;
              break;
          }
      }


      // Install a SurfaceHolder.Callback so we get notified when the
      // underlying surface is created and destroyed.
      mHolder = getHolder();
      mHolder.addCallback(this);

      // deprecated setting, but required on Android versions prior to 3.0
      mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  }
项目:AndroidQrCodeScanner    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /* 
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:In-Time-Android-Native-App-    文件:CameraSPreview.java   
public void updateCameraParams(){
    if(mCamera==null)
        return;
    SettingsData dta = InTimeStorage.getInstance().getSettingsData();
    Camera.Parameters params = mCamera.getParameters();

    //white balance
    params.setWhiteBalance(dta.getSelectedWhiteBalanceName());              

    //focus
    if(dta.getSelectedFocusModeName().equals("auto")){
        if(!params.getFocusMode().equals("auto")){
            try {                   
                mCamera.autoFocus(new AutoFocusCallback() {
                    public void onAutoFocus(boolean success, Camera camera) {}
                });
            } catch (Exception e) {             
            }               
        }
    }else{
        if(params.getFocusMode().equals("auto")){
            mCamera.cancelAutoFocus();
        }
        params.setFocusMode(dta.getSelectedFocusModeName());
    }

    //color effect
    params.setColorEffect(dta.getSelectedColorEfxName());

    //flash mode
    String flashMode = dta.getSelectedFlashModeName();
    if(flashMode.equals("on") || flashMode.equals("torch")){
        params.setFlashMode("torch");
    }else{
        params.setFlashMode(flashMode);
    }

    mCamera.setParameters(params);                      
}
项目:batatas-android    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    // Install a SurfaceHolder.Callback so we get notified when
    // the underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);
}
项目:Android-Basics-Codes    文件:MainActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if(checkCameraHardware(this)){
     // ��ȡ����ͷʵ��
     mCamera = getCameraInstance();

     // ����Ԥ������Ķ���
     mPreview = new CameraPreview(this, mCamera);
     FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
     //��Ԥ���������Ϊ֡���ֵ��ӽڵ�
     preview.addView(mPreview);

     //��ȡ���հ�ť
     Button captureButton = (Button) findViewById(R.id.button_capture);
     //���õ������
     captureButton.setOnClickListener(
         new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                //�Զ��Խ�
                mCamera.autoFocus(new AutoFocusCallback(){

                    //�Խ����ʱ����
            @Override
            public void onAutoFocus(boolean success,
                    Camera camera) {
                //����
                   mCamera.takePicture(null, null, mPicture);
            }

                });

             }
         }
     );
    }
}
项目:V-Scan    文件:CameraPreview.java   
CameraPreview(Context context, PreviewCallback previewCallback, AutoFocusCallback autoFocusCb) {
    super(context);

    mPreviewCallback = previewCallback;
    mAutoFocusCallback = autoFocusCb;
    mSurfaceView = new SurfaceView(context);
    addView(mSurfaceView);

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = mSurfaceView.getHolder();
    mHolder.addCallback(this);
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:Logistics    文件:CameraActivity.java   
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    // initCamera();
    mCamera.autoFocus(new AutoFocusCallback() {
        @Override
        public void onAutoFocus(boolean success, Camera camera) {
            if (success) {
                initCamera();// ʵ������IJ�����ʼ��
                camera.cancelAutoFocus();// ֻ�м�������һ�䣬�Ż��Զ��Խ���
            }
        }

    });
}
项目:virtour    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /* 
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:My-Wallet-Android    文件:CameraPreview.java   
CameraPreview(Context context, PreviewCallback previewCallback, AutoFocusCallback autoFocusCb) {
    super(context);

    mPreviewCallback = previewCallback;
    mAutoFocusCallback = autoFocusCb;
    mSurfaceView = new SurfaceView(context);
    addView(mSurfaceView);

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = mSurfaceView.getHolder();
    mHolder.addCallback(this);
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:QRCodeTest    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;
    /*
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:glass-warehouse-automation    文件:ScanQRConfigActivity.java   
/**
 * Mimic continuous autofocus.
 * 
 * @return
 */
private AutoFocusCallback createAutoFocusCallback() {
    final Runnable doAutoFocus = new Runnable() {
        public void run() {
            if (mPreviewing)
                mCamera.autoFocus(mAutoFocusCB);
        }
    };
    AutoFocusCallback autoFocusCallback = new Camera.AutoFocusCallback() {
        public void onAutoFocus(boolean success, Camera camera) {
            autoFocusHandler.postDelayed(doAutoFocus, 2000);
        }
    };
    return autoFocusCallback;
}
项目:ZBarScanProj    文件:CameraPreview.java   
@SuppressWarnings("deprecation")
public CameraPreview(Context context, Camera camera, PreviewCallback previewCb, AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /*
     * Set camera to continuous focus if supported, otherwise use software
     * auto-focus. Only works for API level >=9.
     */
    /*
     * Camera.Parameters parameters = camera.getParameters(); for (String f
     * : parameters.getSupportedFocusModes()) { if (f ==
     * Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
     * mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
     * autoFocusCallback = null; break; } }
     */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:VCameraSample    文件:MediaRecorderActivity.java   
@Override
public void onPrepared() {
    if (mMediaRecorder != null) {
        //自动对焦
        mMediaRecorder.autoFocus(new AutoFocusCallback() {

            @Override
            public void onAutoFocus(boolean success, Camera camera) {
                if (success) {

                }
            }
        });
    }
}
项目:FAVShop    文件:CameraPreview.java   
CameraPreview(Context context, PreviewCallback previewCallback, AutoFocusCallback autoFocusCb) {
    super(context);

    mPreviewCallback = previewCallback;
    mAutoFocusCallback = autoFocusCb;
    mSurfaceView = new SurfaceView(context);
    addView(mSurfaceView);

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = mSurfaceView.getHolder();
    mHolder.addCallback(this);
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:GlassWifiConnect    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /* 
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    //mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:QR-auth-android    文件:CameraPreview.java   
public CameraPreview(Context context, Camera camera,
                     PreviewCallback previewCb,
                     AutoFocusCallback autoFocusCb) {
    super(context);
    mCamera = camera;
    previewCallback = previewCb;
    autoFocusCallback = autoFocusCb;

    /* 
     * Set camera to continuous focus if supported, otherwise use
     * software auto-focus. Only works for API level >=9.
     */
    /*
    Camera.Parameters parameters = camera.getParameters();
    for (String f : parameters.getSupportedFocusModes()) {
        if (f == Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
            mCamera.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            autoFocusCallback = null;
            break;
        }
    }
    */

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);

    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:cwac-camera    文件:CameraView.java   
@Override
public void onAutoFocus(boolean success, Camera camera) {
  isAutoFocusing=false;

  if (getHost() instanceof AutoFocusCallback) {
    getHost().onAutoFocus(success, camera);
  }
}
项目:ShoppingMall    文件:TakePhotoFragment.java   
@SuppressWarnings("deprecation")
private void initCamera(SurfaceHolder holder, int width, int height) {
    try {
        if (mCamera == null) {
            mCamera = Camera.open(0);
        }
        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        Camera.Parameters parameters = mCamera.getParameters();
        if (flashModeString != null) {
            parameters.setFlashMode(flashModeString);
        }
        if (parameters.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
        }
        // flashModeString = Camera.Parameters.FLASH_MODE_OFF;
        parameters.setPictureFormat(ImageFormat.JPEG);
        int jpegQuality = CameraProfile.getJpegEncodingQualityParameter(0, CameraProfile.QUALITY_MEDIUM);
        parameters.setJpegQuality(jpegQuality);
        List<Camera.Size> previewSizes = parameters.getSupportedPreviewSizes();
        // Camera.Size preSize = getOptimalPicSize(previewSizes);
        Camera.Size preSize = getOptimalPicSize(previewSizes);
        if (preSize != null) {
            parameters.setPreviewSize(preSize.width, preSize.height);
        }
        List<Camera.Size> picSizes = parameters.getSupportedPictureSizes();
        Camera.Size picSize = getOptimalPicSize(picSizes);
        if (picSize != null) {
            parameters.setPictureSize(picSize.width, picSize.height);
        }
        mCamera.setParameters(parameters);
        mCamera.setDisplayOrientation(getPreviewDegree(getBackOpActivity()));
        mCamera.setPreviewDisplay(holder);
        mCamera.startPreview();         
        mCamera.autoFocus(new AutoFocusCallback() {
            @Override
            public void onAutoFocus(boolean success, Camera camera) {
                isFocusing = false;
            }
        });
        isFocusing = true;
    } catch (Exception e) {
        if (mCamera != null) {
            mCamera.release();
            mCamera = null;
        }
        e.printStackTrace();
    }
}
项目:MyCamera    文件:CameraView.java   
public void autoFocus(Camera.AutoFocusCallback callback) {
    if (inPreview) {
        camera.autoFocus(callback);
        isAutoFocusing = true;
    }
}
项目:opensnap    文件:BaseCaptureFrag.java   
@SuppressLint("NewApi")
public boolean onKeyDown(int keyCode) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
        // zoom in
        if (mCameraMaxZoom != -1 && mCameraParams.getZoom() != mCameraMaxZoom) {
            mCamera.startSmoothZoom(mCameraParams.getZoom() + 1);
        }
        return true;
    }
    else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
        // zoom out
        if (mCameraMaxZoom != -1 && mCameraParams.getZoom() != 0) {
            mCamera.startSmoothZoom(mCameraParams.getZoom() - 1);
        }
        return true;
    }
    else if (keyCode == KeyEvent.KEYCODE_FOCUS) {
        if (mCameraAutoFocusEnabled && focusState == UNFOCUSED && !mIsRecording) {
            focusState = FOCUSING;
            mCamera.autoFocus(new AutoFocusCallback() {
                @Override
                public void onAutoFocus(boolean success, Camera camera) {
                    if (success) {
                        focusState = FOCUS_FINISHED;
                    } else {
                        focusState = UNFOCUSED;
                    }
                }
            });
        }
    }
    else if (keyCode == KeyEvent.KEYCODE_CAMERA && camLoaded) {
        if (!isVideo()) {
            if (mCameraAutoFocusEnabled && focusState == FOCUSING) {
                mCamera.cancelAutoFocus();
                focusState = UNFOCUSED;
            }

            if (!takePicture()) {
                StatMethods.hotBread(this.getActivity(), "Camera not loaded! Try again later", Toast.LENGTH_SHORT);
            }
        } else {
            if (mIsRecording) {
                mPieView.stopAnimation(false);
            } else {
                if (prepareVideoRecorder()) {
                    mRecorder.start();
                    mIsRecording = true;

                    mPieView.setVisibility(View.VISIBLE);
                    mPieView.setAnimationOnCompletionListener(new IOnAnimationCompletion() {
                        @Override
                        public void onAnimationCompletion(View animatedView) {
                            animatedView.setVisibility(View.INVISIBLE);
                            mRecorder.stop();
                            releaseMediaRecorder();
                            mIsRecording = false;

                            postVideoCallback(filePath);

                            mVideoToggleButton.setEnabled(true);
                        }
                    });
                       mPieView.startAnimation();

                    mVideoToggleButton.setEnabled(false);
                } else {
                    releaseMediaRecorder();
                }


            }
        }
        return true;
    }
    return false;
}