Android Camera Angle返回Pi

时间:2015-05-20 12:07:00

标签: android android-camera

我需要为我正在编写的应用程序获取相机的水平和垂直视角。我在this question的第二个(不是接受的)答案中使用了这个方法,这个方法运行正常。我这样做:

Camera.Parameters p = Camera.open().getParameters();

然后可以调用

Math.toRadians(p.getVerticalViewAngle());

或获得视角的等效水平方法。

这适用于我的Nexus 4和三星平板电脑,但我决定在我的Nexus 7上试用该应用程序,水平和垂直角度都以pi形式返回。显然,这对于这些属性来说是一个荒谬的价值。知道我为什么要为这个设备获取这些值吗?

此外,在可能相关的说明中,android.hardware.Camera已被弃用,并由android.hardware.Camera2取代。我一直无法找到与Camera2实现相同目标的方法,但欢迎任何有关如何执行此操作的建议。

1 个答案:

答案 0 :(得分:2)

p.getVerticalViewAngle()可能会返回任何可能相机的最大值。

pi的答案意味着它具有360°的视力,这是不可能的但可能的,并且是相机可以采用的理论最大值。

因此我建议尝试使用ID打开:

Camera.Parameters p = Camera.open(/**cameraNumber**/).getParameters();

并检查cameraDevice是否为空。

至于另一个问题,没有任何方法可以使用camera2 api来获得垂直和水平视角,但使用原始相机API确实有效(至少它对我有用)