一、应用程序
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
}
版权声明:本文为tankai19880619原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。