1. 前言
Camera2在一些低端机器上出现拉伸问题,当然首先排除不是笔者低级错误设置的分辨率有问题。
2. 拉伸问题详细描述
Camera2在某些机型上画面拉伸,表象是我们设置16:9的输出(当然是查询到支持的分辨率),但是Camera实际输出的是4:3。
整个过程如下:
获取Camera支持的输出分辨率
StreamConfigurationMap streamConfigurationMap = cameraInfo.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); outputSizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class); getBestMatchCameraPreviewSize(outputSizes);
笔者选取oppo a37f为例,其支持的分辨率如下:
选择适合的分辨率
public static TESizei getClosestSupportedSize( List<TESizei> supportedSiz