public void setDefaultCameraParameters(Camera camera, Camera.CameraInfo cameraInfo) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(ImageFormat.JPEG);
List<Camera.Size> supportedSizes = parameters.getSupportedPictureSizes();
Camera.Size pictureSize = getBestSize(supportedSizes, 0);
parameters.setPictureSize(pictureSize.width, pictureSize.height);
float whRatio = (float) pictureSize.width / pictureSize.height;
List<Camera.Size> previewSupportedSizes = parameters.getSupportedPreviewSizes();
Camera.Size previewSize = getBestSize(previewSupportedSizes, whRatio);
parameters.setPreviewSize(previewSize.width, previewSize.height);
List<String> supportedFocusModes = camera.getParameters().getSupportedFocusModes();
boolean hasAutoFocus = supportedFocusModes != null && supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO);
if(hasAutoFocus) {
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
}
if(cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO);
}
List<String> supportedScreenModes = camera.getParameters().getSupportedSceneModes();
boolean hasAutoScene = supportedScreenModes != null && supportedFocusModes.contains(Camera.Parameters.SCENE_MODE_AUTO);
if(hasAutoScene) {
parameters.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO);
}
parameters.setColorEffect(Camera.Parameters.EFFECT_NONE);
int orientation = cameraInfo.orientation;
parameters.setRotation(orientation);
camera.setParameters(parameters);
}
CameraManager.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:react-native-camera-android-simple
作者:
评论列表
文章目录