Android GLSurfaceView相机预览在调整大小后被置乱

Android GLSurfaceView相机预览在调整大小后被置乱,android,opengl-es,android-camera,android-mediacodec,Android,Opengl Es,Android Camera,Android Mediacodec,我使用GLSurfaceView渲染相机预览输出,同时使用MediaCodec对其进行编码 在某些情况下,我想调整GLSURFACHEVIEW的大小以显示更大的摄影机预览。为此,我暂停相机预览,将新布局参数应用于GLSURFACHEVIEW,然后重新启动相机预览 GLSurfaceView已成功调整大小,但内部预览的大小与以前相同。GLSURFACHEVIEW的其余部分充满了加扰数据(见附图) 对于任何发现这一点的人,我从未设法解决我的问题 我不得不拆除整个视图、摄像头和编码器,然后重建所有内容

我使用GLSurfaceView渲染相机预览输出,同时使用MediaCodec对其进行编码

在某些情况下,我想调整GLSURFACHEVIEW的大小以显示更大的摄影机预览。为此,我暂停相机预览,将新布局参数应用于GLSURFACHEVIEW,然后重新启动相机预览

GLSurfaceView已成功调整大小,但内部预览的大小与以前相同。GLSURFACHEVIEW的其余部分充满了加扰数据(见附图)


对于任何发现这一点的人,我从未设法解决我的问题


我不得不拆除整个视图、摄像头和编码器,然后重建所有内容。

使用Camera2 API?我知道它关注的是目标表面的大小,但我不知道它是否会跟随变化。不,使用原始的摄像头API。我用你在格拉菲卡的一个例子做了一个小实验。我得到了同样的结果,但通过将可见性设置为“消失”,然后再次设置为“可见”,我可以让它自行排序。然而,在我自己的应用程序中,这个简单的技巧并不适用于我。可能是因为我在下游视频源上叠加了更多的摄像头预览。在任何情况下,新的需求已经到来,这意味着我的解决方案,拆除一切都是需要的(切换分辨率等),所以没有浪费的努力。