我遇到了一个奇怪的问题,特别是在Nexus 4上(尽管它可能存在于其他设备上),当焦点模式设置为FOCUS_MODE_CONTINUOUS_PICTURE
时,相机闪光灯不会闪光。相同的代码在运行相同版本的Android(4.2.1)的Galaxy Nexus上运行良好。以前有人遇到过这个问题吗?我可以通过简单地将焦点模式切换到FOCUS_MODE_AUTO
来解决问题。我希望这个问题能够轻松解决,因为连续的图像聚焦模式非常重要。
答案 0 :(得分:4)
(在答案中将我的评论结束起来是值得的。)
我怀疑连续焦点对Nexus 4不起作用的原因是我听到了Barcode Scanner用户群关于此的一些声音(我是作者)。 Nexus 4似乎无法使用,或者未启用连续对焦。
我没有看到更多细节来确认/否认这一点,但是,我确实在其他设备上看到了这种确切的问题形式。特别是Galaxy S2似乎有一些不好的焦点错误。
它表现为略有不同:您正在设置的某些第三个参数应该受到支持,或者表示支持它,但实际上会导致驱动程序被禁止。然后它不尊重焦点或火炬设置。它可能是连续的焦点和火炬,工作。但第三种情况是绊倒它。
查看logcat
输出。您应该看到来自驱动程序的调试消息。确切的性质很大程度上取决于固件。但在这种情况下,您可能会在驱动程序中看到错误。我经常看到“不支持的参数X”和神秘的数字;有时它更清楚它不喜欢的东西。
这可能会给你一个带头,事实上它就像是场景模式或计量区域。 (我已经看到每个都会在至少一个设备上引起这个问题。)
我也有Galaxy Nexus并且从未发现过任何形式的问题。
我还会说,持续关注可以在某些设备上很好地工作;在我的旧Desire HD等设备上,它比简单的自动对焦模式更糟糕。因人而异;我总结说它并不一定有用,所以常规自动对焦是条码扫描器中的默认值。
答案 1 :(得分:0)
Nexsus 4上的相机上存在很多问题。
首先请尝试参数.getSupportedFocusModes()
要恢复继续自动对焦,只需在“AutoFocusCallback.java”中的相机上调用“cancelAutoFocus()”,
{
if (autoFocusHandler != null) {
camera.cancelAutoFocus();
...
}
如果焦点模式为“FOCUS_MODE_AUTO”,则此调用无效,因为在调用onAutoFocus()时无论如何都会完成自动对焦。但是当使用“FOCUS_MODE_CONTINUOUS_PICTURE”时,它会恢复连续自动对焦。
希望它有所帮助。我会更多地工作并更新。