android 自定义相机画面倒立解决方案

jopen 10年前

    有部分手机的影像是倒立的,如何解决这个问题呢? 请看下面                public static void setCameraDisplayOrientation(Activity activity,                 int cameraId, android.hardware.Camera camera) {             android.hardware.Camera.CameraInfo info =                     new android.hardware.Camera.CameraInfo();             android.hardware.Camera.getCameraInfo(cameraId, info);             int rotation = activity.getWindowManager().getDefaultDisplay()                     .getRotation();             int degrees = 0;             switch (rotation) {                 case Surface.ROTATION_0: degrees = 0; break;                 case Surface.ROTATION_90: degrees = 90; break;                 case Surface.ROTATION_180: degrees = 180; break;                 case Surface.ROTATION_270: degrees = 270; break;             }                     int result;             if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {                 result = (info.orientation + degrees) % 360;                 result = (360 - result) % 360;  // compensate the mirror             } else {  // back-facing                 result = (info.orientation - degrees + 360) % 360;             }             camera.setDisplayOrientation(result);         }         @Override            public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {                // TODO Auto-generated method stub                             setCameraDisplayOrientation(this,0,camera)              }