我仍然没有找到在相机预览顶部显示 opengl 覆盖的正确方法,
有一个黑客,你在哪里打电话
setContentView(GLSurfaceView)
addContentView(MyCameraSurfaceView)
但它无法正常工作 - 即当您切换到另一个 Activity 并返回时,opengl 层不会显示在相机预览中。
有很多使用上述方法的教程和示例,但它根本没有按预期工作
有谁知道在layar中是怎么做到的
最佳答案
看来我已经找到了问题的解决方案 - 它的 setZOrderMediaOverlay
函数,这是我的代码:
private void initViews()
{
mFrame = new FrameLayout(this);
initCameraView();
initGLView();
setContentView( mFrame );
}
private void initGLView()
{
mRenderer = new MyGLRenderer( this );
mGLView = new GLSurfaceView(this);
mGLView.setZOrderMediaOverlay(true);
mGLView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mGLView.setRenderer(mRenderer);
mGLView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mFrame.addView( mGLView );
}
private void initCameraView()
{
mCameraSurfaceView = new CameraSurfaceView(this);
mFrame.addView(mCameraSurfaceView);
}
关于android - 相机 View 上的 opengl 叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8986437/