现在的位置: 首页 > 综合 > 正文

Android系统Camera参数设置

2014年01月01日 ⁄ 综合 ⁄ 共 1491字 ⁄ 字号 评论关闭

一、应用程序

1.Camera应用使用的参数对象

frameworks/base/core/java/android/hardware/Camera.java

public class Parameters {
 
}

2.使用

Camera拍照预览:

packages/apps/Camera/src/com/android/camera/CameraModule.java

mInitialParams = mCameraDevice.getParameters();
mInitialParams.getSupportedPreviewSizes();
mInitialParams.setPreviewSize(maxSize.width,maxSize.height);

Camera拍照:

mInitialParams.setPictureSize(maxSize.width,maxSize.height);
mCameraDevice.setParameters(mInitialParams);

Camera录像预览:

packages/apps/Camera/src/com/android/camera/VideoModule.java

InitialParams = vCameraDevice.getParameters();
vInitialParams.getSupportedVideoSizes();
mParameters.setPreviewSize();
vCameraDevice.setParameters(mParameters);

二、MediaRecorder

1.CameraSource使用的参数对象

frameworks/av/camera/CameraParameters.cpp

void CameraParameters::getVideoSize(int *width, int *height) const{

}

2.使用

frameworks/av/media/libstagefright/CameraSource.cpp

status_t CameraSource::checkVideoSize(
         const CameraParameters& params,
         int32_t width, int32_t height) {
  params.getVideoSize(&frameWidthActual, &frameHeightActual);
  if (frameWidthActual != width || frameHeightActual != height) {
    ALOGE("Failed to set video frame size to %dx%d. " "The actual video size is %dx%d ", width, height, frameWidthActual, frameHeightActual);
  }
}

三、CameraHAL

1.CameraHAL使用的参数对象

frameworks/av/camera/CameraParameters.cpp

2.使用

hardware/amlogic/camera/CameraHal.cpp

int CameraHal::setParameters(const CameraParameters& params){
  //add by tank for CameraSource video recorder
  mParameters.setVideoSize(w,h);
  //end tan 2013-12-3
  // Handle RECORDING_HINT to Set/Reset Video Mode Parameters
}

抱歉!评论已关闭.