0

android.Camera.Preferences.setRotation 文档

public void onOrientationChanged(int orientation) {     
    if (orientation == ORIENTATION_UNKNOWN) return;     
    android.hardware.Camera.CameraInfo info = 
        new android.hardware.Camera.CameraInfo();     
    android.hardware.Camera.getCameraInfo(cameraId, info);     
    orientation = (orientation + 45) / 90 * 90;     
    int rotation = 0;     
    if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {         
        rotation = (info.orientation - orientation + 360) % 360;     
    } else {  // back-facing camera         
        rotation = (info.orientation + orientation) % 360;     
    }     
    mParameters.setRotation(rotation); 
}

API 级别 5(或更好甚至 4)中是否有 Camera.CameraInfo 的替代方案?我正在尝试设置捕获图像的旋转,但我无法弄清楚如何获取设备相机的方向。API 级别 9 之前的所有相机的方向都是固定的还是什么?

4

1 回答 1

0

没有相机方向在Android平台上处于当前状态,真是一团糟。即使您使用相机信息获得的方向在我的应用程序中也不总是正确的(至少对我而言)我让用户选择是否要使用应用程序设置中的参数旋转相机

于 2011-07-01T10:09:19.007 回答