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

Why camera2 supported preview size width always bigger than height?

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

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

输出大小列表 始终 return 宽度>高度的值,尽管屏幕的宽度

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

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

那么它们之间有什么不同呢?请帮助我!

手机上的摄像头传统上是为设备的横向设计的。我们使用 90° 旋转来在设备处于纵向时正确显示相机框架。

详细解释如下: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation