我只需要获取相机预览数据,而不需要可见的预览。因为我在一个服务中进行所有这些操作,所以我必须创建一个虚拟的SurfaceView,这个方法非常有效。
我使用了这个答案中的代码:https://dev59.com/VHE95IYBdhLWcg3wQ7uc#10268650 然而,使用`TYPE_SYSTEM_OVERLAY`时它没有起作用。它是不可见的,但是没有接收到预览数据(在`onPreviewFrame()`中)。当我将此参数更改为0时,我可以获得预览数据,但是`SurfaceView`是可见的。
你知道其他的方法吗?
现在我所做的就是创建一个可见的`SurfaceView`,宽度和高度都为1,然后我创建了一个带有特定颜色的`ImageView`叠加层,这样你就看不到`SurfaceView`颜色的变化。但这样做并不是很好,我真的想找到更好的方法。
我使用了这个答案中的代码:https://dev59.com/VHE95IYBdhLWcg3wQ7uc#10268650 然而,使用`TYPE_SYSTEM_OVERLAY`时它没有起作用。它是不可见的,但是没有接收到预览数据(在`onPreviewFrame()`中)。当我将此参数更改为0时,我可以获得预览数据,但是`SurfaceView`是可见的。
你知道其他的方法吗?
现在我所做的就是创建一个可见的`SurfaceView`,宽度和高度都为1,然后我创建了一个带有特定颜色的`ImageView`叠加层,这样你就看不到`SurfaceView`颜色的变化。但这样做并不是很好,我真的想找到更好的方法。