使用Android 5.0.1官方固件在我的Nexus 5设备上出现奇怪的行为。
根据文档,camera2接口支持9个WB值。 Nexus 5支持所有这些(android.control.awbAvailableModes返回所有可能的WB)
几乎所有这些都能正常工作,并且预览的白平衡会发生变化。但其中3个没有效果:WARM_FLUORESCENT,TWILIGHT和SHADE
以下是我设置白平衡的代码:
if (mode != CameraParameters.WB_MODE_AUTO)
HALv3.previewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
else
HALv3.previewRequestBuilder
.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
HALv3.previewRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, mode);
try
{
CameraController.iCaptureID = HALv3.getInstance().mCaptureSession.setRepeatingRequest(
HALv3.previewRequestBuilder.build(), captureCallback, null);
} catch (CameraAccessException e)
{
e.printStackTrace();
} catch (IllegalStateException e2)
{
e2.printStackTrace();
}
正如你所看到的,没有什么特别的,所有的事情都是根据文件做的。
答案 0 :(得分:1)
使用相机API时也一样。
答案 1 :(得分:0)
看起来好像Nexus 5上的固件存在错误。作为桌面上各种不同设备的开发人员,Nexus 5的行为与其余部分不同,白平衡发生变化。
三星S4报告了有效的白点,并展示了这些变化。 三星S5,不错。 Moto X,很好。 HTC One M7,不错。 小米Mi4,好。
我将假设whiteBalancesAvailable()调用返回整个列表,而它应该只返回您指定的具有正效果的那些。
我想为其他任何遇到此问题的人报告此问题。
编辑:他们知道这一点,并将在未来的更新版本中记录这一点。