【发布时间】:2021-03-25 09:39:00
【问题描述】:
我想在用户打开相机时在运行时获取白平衡值。如果当前白平衡值不在某个指定范围内,我想向用户显示一些消息。
【问题讨论】:
-
你做到了吗?
-
还没有找到任何解决方案
-
我已经研究过它并且它工作正常,让我分享我的答案。
标签: android android-camera2 android-camerax
我想在用户打开相机时在运行时获取白平衡值。如果当前白平衡值不在某个指定范围内,我想向用户显示一些消息。
【问题讨论】:
标签: android android-camera2 android-camerax
创建一个CameraCaptureSession.CaptureCallback回调并实现其功能
private val captureCallbackListener: CameraCaptureSession.CaptureCallback =
object : CameraCaptureSession.CaptureCallback() {
override fun onCaptureStarted(..){}
override fun onCaptureProgressed(..){}
override fun onCaptureCompleted(
session: CameraCaptureSession,
request: CaptureRequest,
result: TotalCaptureResult
) {
Log.d(TAG, "onCaptureCompleted White Balance: ${result.get(CaptureResult.COLOR_CORRECTION_MODE)} and ${result.get(CaptureResult.COLOR_CORRECTION_GAINS)} and ${result.get(CaptureResult.COLOR_CORRECTION_TRANSFORM)}")
}
}
以上这些日志将为您提供与白平衡相关的所有信息。 在 cameraCaptureSessions 中创建相机预览时传递此回调!!.setRepeatingRequest as
cameraCaptureSessions!!.setRepeatingRequest(
captureRequestBuilder!!.build(),
captureCallbackListener,
mBackgroundHandler
)
【讨论】: