在前面使用 OpenGL 进行相机预览背景的传统方法是采用两个 SurfaceView(一个用于相机,另一个用于 OpenGL)并将它们堆叠在一起。问题是不鼓励堆叠 SurfaceView:
http://groups.google.com/group/android-developers/browse_thread/thread/4850fe5c314a3dc6
那么有哪些替代方案呢?我正在考虑以下内容:
- 子类GlSurfaceView,然后调用set the Camera preview到这个子类的holder上:Camera.setPreviewDisplay(mHolder);
- 不要使用 GLSurfaceView,而是创建您自己的 SurfaceView 子类,您可以在其中将相机预览显示到支架上并绘制您的 openGL。这需要在没有 GLSurfaceView 的情况下使用 OpenGL,以前有人这样做过吗?
我不确定这是否可能或是否有意义,因为这意味着将相机预览显示到表面的支架上,同时在同一表面上绘制 OpenGL。在不使用两个 SurfaceView 的情况下解决问题是否有其他明智的选择?
谢谢!