隐藏相机预览但仍会收到预览回调

时间:2012-03-11 08:37:52

标签: android camera preview galaxy

我想在我的应用程序中显示已过滤的相机预览。

我正在使用Camera.setPreviewCallback()。我设法处理回调数据并在OpenGL视图中显示过滤后的图像,但我不知道如何隐藏原始相机预览并仍然接收预览回调。使表面视图“消失”或“不可见”不起作用,使其足够小(10x10)隐藏在GUI后面也不起作用。它只是停止发送带有预览数据的回调。

你能分享一些解决方法吗?我正在使用Galaxy S2进行测试。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

解决方案是即使将预览大小设置为实际屏幕,在预览SurfaceView的onMeasure中使其变小,这对我有用:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{  
   this.setMeasuredDimension(2, 2);  
}

答案 1 :(得分:1)

使用黑色背景颜色创建简单视图。将视图定位在与摄像机SurfaceView相同的位置。相机的预览将被有效隐藏。