Android Camera2 拉伸问题

本文介绍了Android Camera2在部分低端设备上出现的画面拉伸问题,详细描述了问题现象及原因,即设置16:9分辨率后,Camera实际输出4:3的图像。探讨了WebRTC和CameraView两种不完美的解决方案,WebRTC通过特定处理应对拉伸,而CameraView则回退到Camera1以提高兼容性。
摘要由CSDN通过智能技术生成

1. 前言

Camera2在一些低端机器上出现拉伸问题,当然首先排除不是笔者低级错误设置的分辨率有问题。

2. 拉伸问题详细描述

Camera2在某些机型上画面拉伸,表象是我们设置16:9的输出(当然是查询到支持的分辨率),但是Camera实际输出的是4:3。
整个过程如下:

  1. 获取Camera支持的输出分辨率

                StreamConfigurationMap streamConfigurationMap = cameraInfo.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
            outputSizes = streamConfigurationMap.getOutputSizes(SurfaceTexture.class);
            getBestMatchCameraPreviewSize(outputSizes);

    笔者选取oppo a37f为例,其支持的分辨率如下:
    Preview size

  2. 选择适合的分辨率

      public static TESizei getClosestSupportedSize(
      List<TESizei> supportedSiz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值