最近遇到一个客户需求,要求在前摄的时候,不要求镜像预览,拍出来的照片也不要求镜像。
科谱一下,前摄镜像的原因是让镜头对着自己,当镜子使用,是专门这么设计的。
既然客户有要求,那就得修改了。
通过各种渠道找,之前想通过驱动层在这里插入代码片
修改代码, 但是驱动同事告诉我,预览可以修改,拍出来的照片修改不了。
拍出来 的照片只能是在应用层修改,那就只能在AP侧找源码。
此代码是基于高通的基础之上的,android 7.1平台。
packages\apps\SnapdragonCamera\src\com\android\camera\PhotoModule.java
private void setFlipValue() {
// Read Flip mode from adb command
//value: 0(default) - FLIP_MODE_OFF
//value: 1 - FLIP_MODE_H
//value: 2 - FLIP_MODE_V
//value: 3 - FLIP_MODE_VH
int preview_flip_value = SystemProperties.getInt("debug.camera.preview.flip", 0);
int video_flip_value = SystemProperties.getInt("debug.camera.video.flip", 0);
int picture_flip_value = SystemProperties.getInt("debug.camera.picture.flip", 0);
int rotation = CameraUtil.getJpegRotation(mCameraId, mOrientation);
mParameters.setRotation(rotation);
if (rotation == 90 || rotation == 270) {
// in case of 90 or 270 degree, V/H flip should reverse
if (preview_flip_value == 1) {
preview_flip_value = 2;
} else if (preview_flip_value == 2) {
preview_flip_value = 1;
}
if (video_flip_value == 1) {
video_flip_value = 2;
} else if (video_flip_value == 2) {
video_flip_value = 1;
}
if (picture_flip_value == 1) {
picture_flip_value = 2;
} else if (picture_flip_value == 2) {
picture_flip_value = 1;
}
}
String preview_flip = CameraUtil.getFilpModeString(preview_flip_value);
String video_flip