为什么camera2支持的预览尺寸宽度总是大于高度?

时间:2018-04-06 03:50:41

标签: android android-camera2 android-screen

我正在开发一个使用camera2 API的项目。当我使用以下方式获得支持的输出预览大小列表时:

StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
Size[] choices = map.getOutputSizes(SurfaceTexture.class);

输出尺寸列表始终返回宽度为>高度的值,尽管屏幕的宽度是这样的

当我使用getResources().getDisplayMetrics()(或任何类似方法)检查​​宽度/高度时,它总是返回宽度

根据我看到的值,在2种情况下,宽度/高度可能会交换它们的值。 (w:1920,h:1080预览尺寸.w:1080,h:1920屏幕尺寸)。

那么他们之间有什么不同?请帮帮我!

1 个答案:

答案 0 :(得分:1)

手机上的摄像头传统上是为了横向设备而设计的。当设备以纵向方向握持时,我们使用90°旋转来正确显示相机框架。

以下是详细说明: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation