有没有办法在彼此之间设置两个表面视图,以便其中一个用于保持CameraPreview而另一个用于保持OpenGL表面。
我尝试过这个问题,下面在(code1和code2)
中提到了我的尝试代码1 1-在此代码中,我使用第1行中提到的命令打开相机 2,从Render Class中实例化一个对象,并将该对象添加到 使用setContentView()
的surfaceView但是在这种情况下,相机会打开几秒钟然后消失,然后是OpenGl对象的上传。
public void surfaceCreated(SurfaceHolder holder) {
camera = android.hardware.Camera.open(); //line 1
//gLSurfaceView = new GLSurfaceView(this);
//gLSurfaceView.setRenderer(new MyRender());
//setContentView(gLSurfaceView);
}
代码2 在这段代码中,我实例化了CameraSurface和Render类。 我还在XML文件中创建了一个FrameLayout。然后 camerSurface对象被添加到setContentView,Render对象被添加到FrameLayout。 但这样,只会显示添加到framelayout的对象。
cameraSurfacePreviewDemo = new CameraSurfacePreviewDemo(this);
glSurfaceView = new GLSurfaceView(this);
glSurfaceView.setRenderer(new MyRender());
//setContentView(cameraSurfacePreviewDemo);
//setContentView(glSurfaceView);
//fl01.addView(glSurfaceView);
//fl01.addView(cameraSurfacePreviewDemo);
=============================================== ============================================ 任何为Android Camera和AndR“增强现实”中的初学者提供优秀教程的条款,或者为Android Camera和AndR“增强现实”的初学者推荐好书将受到高度赞赏。
答案 0 :(得分:0)