【发布时间】:2016-11-14 20:35:06
【问题描述】:
我使用 GLSurfaceView 渲染相机预览输出,同时使用 MediaCodec 对其进行编码。
在某些时候,我想调整 GLSurfaceView 的大小以显示更大的相机预览。为此,我暂停了相机预览,将新的布局参数应用于 GLSurfaceView,然后重新启动相机预览。
GLSurfaceView 调整大小成功,但里面的预览大小和以前一样。 GLSurfaceView 的其余部分充满了乱码(见附图)。
【问题讨论】:
-
使用 Camera2 API?我知道它关注目标Surface尺寸,但不知道它是否跟随变化。
-
不,使用原始相机 API。我用你在 Grafika 中的一个例子做了一个小实验。我得到了相同的结果,但能够通过将可见性设置为 GONE 然后再次 VISIBLE 来解决它。但是,这个简单的技巧在我自己的应用程序中对我不起作用。可能是因为我有更多的事情要做,相机预览被覆盖在下游视频源的顶部。无论如何,新的要求已经出现,这意味着我无论如何都需要拆除所有东西的解决方案(切换分辨率等),因此不会浪费精力。
标签: android opengl-es android-camera android-mediacodec