我正在做一个使用 camera2 API 的项目。当我使用以下方法获取支持的输出预览大小列表时:
StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
Size[] choices = map.getOutputSizes(SurfaceTexture.class);
输出大小列表始终返回具有宽度>高度的值,尽管屏幕的宽度
当我使用getResources().getDisplayMetrics()
(或任何类似方法)检查宽度/高度时,它总是返回宽度
根据该值,我看到在 2 种情况下,宽度/高度可能会交换其值。(
宽:1920,高:1080预览尺寸,宽:1080,高:1920屏幕尺寸)。那么它们之间有什么区别呢?请帮帮我!
传统上,手机上的摄像头是为设备的横向而构建的。当设备以纵向方向握持时,我们使用 90° 旋转来正确显示相机帧。
以下是详细说明: https://developer.android.com/training/camera/cameradirect.html#TaskOrientation