没有预览的Android相机

时间:2016-05-17 12:46:49

标签: android camera android-camera surfaceholder

我已经看到了许多线索,但无法弄清楚在没有预览的情况下拍摄相机的最佳方法是什么。

我现在这样做的方式是我创建一个像这样的SurfaceTexture:
SurfaceTexture fakePreview = new SurfaceTexture(10);

fakePreview对象不用于任何其他目的,只是设置为预览纹理,并在完成活动时被处理掉。

设置fakePreview SurfaceTexture,然后开始预览,如下所示:
mCamera.setPreviewTexture(fakePreview); mCamera.startPreview();

这似乎工作正常,但我使用质量相当低的传感器,并希望从中获得最高的捕获质量。因此,我一直在寻找改进方法。

我已经看到了除此之外的一些方法来启动相机而没有显示预览,例如正常设置预览但将其大小设置为0x0dp:https://stackoverflow.com/a/9745780/593340

除了使用虚拟surfaceholder.callback:https://stackoverflow.com/a/23621826/593340

我的问题是使用上述方法有什么优点或缺点吗?

如果我的方法存在问题,那么发布的其他两个示例是否代表更好的答案,或者它们是否同样糟糕?

第三,我是否通过忽略显示预览而获得任何表现,或者我只是通过这样做引起潜在的错误?

感谢您的期待!

-Rob

0 个答案:

没有答案