在我当前的应用程序中,我有一个类包含一个 Camera 对象的实例并尝试执行以下操作:
1) 等待指定时间,例如什么都不做(通过 TimerTask 完成) 2) 通过 autoFocus 请求聚焦 3) 在 autoFocus 回调中,请求 OneShotPreviewCallback 4) 在预览回调中,保存图像 5) 重复
虽然白平衡在第一次自动对焦之前工作正常,但在第一次对焦完成后停止。好吧,当然我查了 API,在 autoFocus 描述中有一个有趣的语句。
但自动对焦程序可能会在对焦期间暂时停止自动曝光和自动白平衡。
但似乎它只是暂时的,而是永久的。有趣的是,在随后调用 autoFocus 时,相机会再次尝试调整白化,但正确的值大多只有第二个或第三个 autoFocus。
我也尝试在代码中设置白平衡,但它没有改变任何东西。
setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);
有没有其他人知道这个问题,或者我错过了一些观点?我知道我可以永久调用 autoFocus 来强制进行白平衡,但这对我来说似乎不是最佳方式,因为在第一次调用 auf autoFocus 之前,它工作得非常好。
PS:我正在使用 Android 4.0.3 的三星 Galaxy S2 上进行测试。