Merge pull request #700 from thegobot/master

preview orientation in different directions
camera2
Leo Ma 6 years ago committed by GitHub
commit 901dce2271
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -211,10 +211,33 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
setPreviewOrientation(mPreviewOrientation); setPreviewOrientation(mPreviewOrientation);
} }
protected int getRotateDeg() {
try {
int rotate = ((Activity) getContext()).getWindowManager().getDefaultDisplay().getRotation();
switch (rotate) {
case Surface.ROTATION_0:
return 0;
case Surface.ROTATION_90:
return 90;
case Surface.ROTATION_180:
return 180;
case Surface.ROTATION_270:
return 270;
}
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
public void setPreviewOrientation(int orientation) { public void setPreviewOrientation(int orientation) {
mPreviewOrientation = orientation; mPreviewOrientation = orientation;
Camera.CameraInfo info = new Camera.CameraInfo(); Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(mCamId, info); Camera.getCameraInfo(mCamId, info);
int rotateDeg = getRotateDeg();
if (orientation == Configuration.ORIENTATION_PORTRAIT) { if (orientation == Configuration.ORIENTATION_PORTRAIT) {
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
mPreviewRotation = info.orientation % 360; mPreviewRotation = info.orientation % 360;
@ -230,6 +253,11 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
mPreviewRotation = (info.orientation + 90) % 360; mPreviewRotation = (info.orientation + 90) % 360;
} }
} }
if(rotateDeg > 0){
mPreviewRotation = mPreviewRotation % rotateDeg;
}
} }
public int getCameraId() { public int getCameraId() {

Loading…
Cancel
Save