ExposureState

@RequiresApi(value = 21)
public interface ExposureState


An interface which contains the camera exposure related information.

Applications can retrieve an instance via getExposureState.

Summary

Public methods

abstract int

Get the current exposure compensation index.

abstract @NonNull Range<Integer>

Get the maximum and minimum exposure compensation values for setExposureCompensationIndex

abstract @NonNull Rational

Get the smallest step by which the exposure compensation can be changed.

abstract boolean

Whether exposure compensation is supported for this camera.

Public methods

getExposureCompensationIndex

Added in 1.0.0
abstract int getExposureCompensationIndex()

Get the current exposure compensation index.

The exposure value (EV) is the compensation index multiplied by the step value which is given by getExposureCompensationStep. Increasing the compensation index by using the setExposureCompensationIndex will increase exposure making the capture result brighter, decreasing the value making it darker.

For example, if the exposure value (EV) step size is 0.333, set the exposure compensation index value '6' will mean an exposure compensation of +2 EV; -3 will mean an exposure compensation of -1 EV.

The exposure value resets to default when there is no UseCase associated with the camera. For example, unbind all use cases from the camera or when the lifecycle changed that all the use case stopping data from the camera.

Returns
int

The current exposure compensation index. If isExposureCompensationSupported is false, always return 0.

getExposureCompensationRange

Added in 1.0.0
abstract @NonNull Range<IntegergetExposureCompensationRange()

Get the maximum and minimum exposure compensation values for setExposureCompensationIndex

The actual exposure value (EV) range that supported by the camera can be calculated by multiplying the getExposureCompensationStep with the maximum and minimum values:

Min.exposure compensation * getExposureCompensationStep <= minimum supported EV

Max.exposure compensation * getExposureCompensationStep >= maximum supported EV

Returns
@NonNull Range<Integer>

the maximum and minimum exposure compensation values range. If isExposureCompensationSupported is false, return Range [0,0].

getExposureCompensationStep

Added in 1.0.0
abstract @NonNull Rational getExposureCompensationStep()

Get the smallest step by which the exposure compensation can be changed.

Returns
@NonNull Rational

The exposure compensation step. If isExposureCompensationSupported is false, return ZERO.

isExposureCompensationSupported

Added in 1.0.0
abstract boolean isExposureCompensationSupported()

Whether exposure compensation is supported for this camera.

Returns
boolean

true if exposure compensation is supported for this camera.