Android Camera2 预览被拉伸

Har*_*ngh 6 android preview android-camera android-camera2

我正在尝试学习 Camera2 API,并且我已经构建了一个简单的相机应用程序只是为了拍照,但我面临的问题是预览对于某些分辨率来说会被拉伸。我浏览了许多不同的帖子,所有这些帖子都表明我的宽高比可能是错误的,但我使用了谷歌推荐的 AutoFitTextureView 以及正确的宽高比,但我的预览仍然被拉伸。我从 Playstore 下载了一些开源相机应用程序,其中很多应用程序也与我的前置摄像头存在相同的问题(除了开放式相机),但有趣的是我在另一台设备上使用了相同的应用程序,并且预览绝对完美。所以最后我决定用不同的分辨率测试我的应用程序并观察结果,但我找不到任何模式有人可以帮助我理解它吗???

my device display size is 720x1280
Front camera results: 
SurfaceTexture        AutoFitTextureView         Result
buffer size           size       
2576x1932             720x960                    Normal
2560x1440             720x1280                   Normal
2048x1536             720x960                    Normal
2048x1152             720x1280                   Normal
1920x1920             720x720                    Normal
1920x1080             720x1280                   Normal
1440x1080             720x960                    Horizontally Stretched
1280x720              720x1280                   Horizontally Stretched
1072x1072             720x720                    Normal
960x720               720x960                    Normal
720x480               720x1080                   Horizontally Stretched
640x480               720x960                    Horizontally Stretched
352x288               720x880                    Normal
320x240               720x960                    Normal
256x144               720x1280                   Horizontally Stretched
176x144               720x880                    Normal
Run Code Online (Sandbox Code Playgroud)

Web*_*iva 0

对于初学者来说,Camera2 很难学。考虑使用承担大部分功能的相机库。这是我发现的最好的一个: https: //camerakit.io/docs。这真的很简单,它将解决您现在面临的所有问题。
(请注意,我不拥有这个项目,而且我也不会以任何方式推广它。我尝试过camera2 API,它确实很难,这就是为什么我建议一个更简单的解决方案。