Camera类有一个 Parameters 的内部类,里面包含了Camera的各种参数,driver会根据这些参数的设置来实现这些各种 Camera 的效果,也可以通过这些 key 来获取当前的值。
private static final String KEY_PREVIEW_SIZE = "preview-size"; // 预览画面的大小
private static final String KEY_PREVIEW_FORMAT = "preview-format";
private static final String KEY_PREVIEW_FRAME_RATE = "preview-frame-rate"; // 预览的帧率
private static final String KEY_PREVIEW_FPS_RANGE = "preview-fps-range"; // FPS(frame per second)
private static final String KEY_PICTURE_SIZE = "picture-size"; // 拍照图片的大小 (比例要和 preview-size 的一致,不然会出现拉伸,变扁的情况)
private static final String KEY_PICTURE_FORMAT = "picture-format"; // 图片的格式
private static final String KEY_JPEG_THUMBNAIL_SIZE = "jpeg-thumbnail-size"; // thumbnail的尺寸,拍完照后一般出现在拍照按钮左侧那个缩略图
private static final String KEY_JPEG_THUMBNAIL_WIDTH = "jpeg-thumbnail-width"; // thumbnail的宽
private static final String KEY_JPEG_THUMBNAIL_HEIGHT = "jpeg-thumbnail-height"; // thumbnail的高
private static final String KEY_JPEG_THUMBNAIL_QUALITY = "jpeg-thumbnail-quality"; // thumbnail的质量
private static final String KEY_JPEG_QUALITY = "jpeg-quality"; // 图片的质量
private static final String KEY_ROTATION = "rotation"; // 照片的旋转角度
private static final String KEY_GPS_LATITUDE = "gps-latitude"; // gps 的纬度
private static final String KEY_GPS_LONGITUDE = "gps-longitude"; // gps 的经度
private static final String KEY_GPS_ALTITUDE = "gps-altitude"; // 海拔高度
private static final String KEY_GPS_TIMESTAMP = "gps-timestamp"; // 时间戳
private static final String KEY_GPS_PROCESSING_METHOD = "gps-processing-method";
private static final String KEY_WHITE_BALANCE = "whitebalance"; // 白平衡。分为incandescent、fluorescent 、auto 、 Daylight 、Cloudy
private static final String KEY_EFFECT = "effect"; // 滤镜效果,比如黑白,旧相片效果等
private static final String KEY_ANTIBANDING = "antibanding";
private static final String KEY_SCENE_MODE = "scene-mode"; // 场景。分为 Auto 、Portrait 、Night等等
private static final String KEY_FLASH_MODE = "flash-mode"; // 闪光灯模式。分为 on、off、auto
private static final String KEY_FOCUS_MODE = "focus-mode"; // 对焦模式。有 auto、macro 、 inifite 、continuous-picture等
private static final String KEY_FOCUS_AREAS = "focus-areas";
private static final String KEY_MAX_NUM_FOCUS_AREAS = "max-num-focus-areas";
private static final String KEY_FOCAL_LENGTH = "focal-length";
private static final String KEY_HORIZONTAL_VIEW_ANGLE = "horizontal-view-angle";
private static final String KEY_VERTICAL_VIEW_ANGLE = "vertical-view-angle";
private static final String KEY_EXPOSURE_COMPENSATION = "exposure-compensation"; // 曝光
private static final String KEY_MAX_EXPOSURE_COMPENSATION = "max-exposure-compensation"; // 最大曝光值
private static final String KEY_MIN_EXPOSURE_COMPENSATION = "min-exposure-compensation"; // 最小曝光值
private static final String KEY_EXPOSURE_COMPENSATION_STEP = "exposure-compensation-step"; // 曝光梯度(假设梯度为3,那每一个等级的曝光+3)
private static final String KEY_AUTO_EXPOSURE_LOCK = "auto-exposure-lock";
private static final String KEY_AUTO_EXPOSURE_LOCK_SUPPORTED = "auto-exposure-lock-supported";
private static final String KEY_AUTO_WHITEBALANCE_LOCK = "auto-whitebalance-lock";
private static final String KEY_AUTO_WHITEBALANCE_LOCK_SUPPORTED = "auto-whitebalance-lock-supported";
private static final String KEY_METERING_AREAS = "metering-areas";
private static final String KEY_MAX_NUM_METERING_AREAS = "max-num-metering-areas";
private static final String KEY_ZOOM = "zoom"; // 变焦系数
private static final String KEY_MAX_ZOOM = "max-zoom"; // 最大变焦
private static final String KEY_ZOOM_RATIOS = "zoom-ratios";
private static final String KEY_ZOOM_SUPPORTED = "zoom-supported"; // 是否支持变焦
private static final String KEY_SMOOTH_ZOOM_SUPPORTED = "smooth-zoom-supported"; // 平滑变焦
private static final String KEY_FOCUS_DISTANCES = "focus-distances"; // 距离
private static final String KEY_VIDEO_SIZE = "video-size"; // 视频的尺寸
private static final String KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO =
"preferred-preview-size-for-video";
private static final String KEY_MAX_NUM_DETECTED_FACES_HW = "max-num-detected-faces-hw";
private static final String KEY_MAX_NUM_DETECTED_FACES_SW = "max-num-detected-faces-sw";
private static final String KEY_RECORDING_HINT = "recording-hint";
private static final String KEY_VIDEO_SNAPSHOT_SUPPORTED = "video-snapshot-supported"; // 录像过程中拍照
private static final String KEY_VIDEO_STABILIZATION = "video-stabilization"; // 视频稳定
private static final String KEY_VIDEO_STABILIZATION_SUPPORTED = "video-stabilization-supported"; // 是否视频稳定(防抖)
// Formats for setPreviewFormat and setPictureFormat. 数据格式
private static final String PIXEL_FORMAT_YUV422SP = "yuv422sp";
private static final String PIXEL_FORMAT_YUV420SP = "yuv420sp";
private static final String PIXEL_FORMAT_YUV422I = "yuv422i-yuyv";
private static final String PIXEL_FORMAT_YUV420P = "yuv420p";
private static final String PIXEL_FORMAT_RGB565 = "rgb565";
private static final String PIXEL_FORMAT_JPEG = "jpeg";
private static final String PIXEL_FORMAT_BAYER_RGGB = "bayer-rggb";