2

我正在尝试使用相机预览..

在清单文件中,对于我已将 screenOrientation 设置为横向的活动。此外,android:minSdkVersion 设置为 10。我正在使用带有 Android 版本 4.0.4 的 Motorola xoom 进行测试。

在活动代码中,我看到 activity.getWindowManager().getDefaultDisplay().getRotation(); 得到“0”;

此外, info.orientation 返回 0;[其中信息是 Camera.CameraInfo。]

但是,我仍然不确定相机预览是否以横向模式启动。如何交叉验证相机预览在哪种模式下启动/如何设置。

4

1 回答 1

0
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;
     }

可以使用上面的Camera.Parameters方法并且知道方向。参考这个链接

于 2012-05-20T03:16:28.640 回答