基础7——相机预览初始化(GLSurfaceView+OpenGLES)
OpenGLES是强大的绘图渲染库,所以在使用前有大量的初始化工具的代码。
初始化工具一——GLSurfaceView的扩展类CameraGLSurfaceView:
之所以进行扩展继承类的编写,是由于单纯的GLSurfaceView往往不能满足我们编程的一些需要,如如事件响应等。
在这个扩展继承类的构造器里,要声明OpenGLES的版本,设置渲染器renderer和渲染模式DIRTY。代码如下:
public CameraGLSurfaceView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
mContext = context;
setEGLContextClientVersion(2);
setRenderer(this);//设置renderer为this,当然要实现Renderer这个接口了
setRenderMode(RENDERMODE_WHEN_DIRTY);
}
那么这个扩展继承类的头是这样的:
public class CameraGLSurfaceView extends GLSurfaceView implements Renderer, SurfaceTexture.OnFrameAvailableListener