【发布时间】:2012-04-25 07:34:02
【问题描述】:
有没有办法将两个表面视图相互设置,以便其中一个保存 CameraPreview,另一个保存 OpenGL 表面。
我已经尝试过这个问题,我的尝试在下面的(code1 和 code2)中提到了
代码 1 1-在这段代码中,我使用第 1 行中提到的命令打开相机 2- 从渲染类实例化一个对象,并将这个对象添加到 使用 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。 但这种方式只会显示添加到框架布局中的对象。
cameraSurfacePreviewDemo = new CameraSurfacePreviewDemo(this);
glSurfaceView = new GLSurfaceView(this);
glSurfaceView.setRenderer(new MyRender());
//setContentView(cameraSurfacePreviewDemo);
//setContentView(glSurfaceView);
//fl01.addView(glSurfaceView);
//fl01.addView(cameraSurfacePreviewDemo);
================================================ ============================================ 任何为 Android 相机和 AndR“增强现实”初学者提供好的教程或为 Android 相机和 AndR“增强现实”初学者推荐好书的任何规定都将受到高度赞赏。
【问题讨论】:
-
您找到解决方法了吗?我遇到了同样的问题
标签: android opengl-es android-camera augmented-reality