# Interface (WhiteBalance)
> **NOTE**
>
> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> - The initial APIs of this interface are supported since API version 20.
WhiteBalance inherits from [WhiteBalanceQuery](arkts-apis-camera-WhiteBalanceQuery.md).
It provides APIs to process white balance, including obtaining and setting the white balance mode and white balance value.
## Modules to Import
```ts
import { camera } from '@kit.CameraKit';
```
## setWhiteBalanceMode20+
setWhiteBalanceMode(mode: WhiteBalanceMode): void
Sets a white balance mode.
Before the setting, run [isWhiteBalanceModeSupported](arkts-apis-camera-WhiteBalanceQuery.md#iswhitebalancemodesupported20) to check whether the device supports the specified white balance mode.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Multimedia.Camera.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- |-----------------------------------------| ---- | ----------------------- |
| mode | [WhiteBalanceMode](arkts-apis-camera-e.md#whitebalancemode20) | Yes | White balance mode. |
**Error codes**
For details about the error codes, see [Camera Error Codes](errorcode-camera.md).
| ID | Error Message |
| --------------- | --------------- |
| 7400101 | Parameter missing or parameter type incorrect. |
| 7400103 | Session not config. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
function setWhiteBalanceMode(session: camera.PhotoSession | camera.VideoSession): void {
try {
session.setWhiteBalanceMode(camera.WhiteBalanceMode.DAYLIGHT);
} catch (error) {
let err = error as BusinessError;
console.error(`The setWhiteBalanceMode call failed. error code: ${err.code}`);
}
}
```
## getWhiteBalanceMode20+
getWhiteBalanceMode(): WhiteBalanceMode
Obtains the white balance mode in use.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Multimedia.Camera.Core
**Return value**
| Type | Description |
|-----------------------------------------| ----------------------------- |
| [WhiteBalanceMode](arkts-apis-camera-e.md#whitebalancemode20) | White balance mode in use.|
**Error codes**
For details about the error codes, see [Camera Error Codes](errorcode-camera.md).
| ID | Error Message |
| --------------- | --------------- |
| 7400103 | Session not config. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
function getWhiteBalanceMode(session: camera.PhotoSession | camera.VideoSession): camera.WhiteBalanceMode | undefined {
let whiteBalanceMode: camera.WhiteBalanceMode | undefined = undefined;
try {
whiteBalanceMode = session.getWhiteBalanceMode();
} catch (error) {
let err = error as BusinessError;
console.error(`The getWhiteBalanceMode call failed. error code: ${err.code}`);
}
return whiteBalanceMode;
}
```
## setWhiteBalance20+
setWhiteBalance(whiteBalance: number): void
Sets a white balance value.
Before the setting, run [isWhiteBalanceModeSupported](arkts-apis-camera-WhiteBalanceQuery.md#iswhitebalancemodesupported20) to check the white balance value range supported by the device.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Multimedia.Camera.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------- | ---- | ------------------- |
| whiteBalance | number | Yes | White balance value.|
**Error codes**
For details about the error codes, see [Camera Error Codes](errorcode-camera.md).
| ID | Error Message |
| --------------- | --------------- |
| 7400101 | Parameter missing or parameter type incorrect. |
| 7400103 | Session not config. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
function setWhiteBalance(session: camera.PhotoSession | camera.VideoSession): void {
try {
let whiteBalance: number = 1000;
session.setWhiteBalance(whiteBalance);
} catch (error) {
let err = error as BusinessError;
console.error(`The setWhiteBalance call failed. error code: ${err.code}`);
}
}
```
## getWhiteBalance20+
getWhiteBalance(): number
Obtains the current white balance value.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Multimedia.Camera.Core
**Return value**
| Type | Description |
| ---------- | ----------------------------- |
| number | White balance value.|
**Error codes**
For details about the error codes, see [Camera Error Codes](errorcode-camera.md).
| ID | Error Message |
| --------------- | --------------- |
| 7400103 | Session not config. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
function getWhiteBalance(session: camera.PhotoSession | camera.VideoSession): number {
let whiteBalance: number = 0;
try {
whiteBalance = session.getWhiteBalance();
} catch (error) {
let err = error as BusinessError;
console.error(`The getWhiteBalance call failed. error code: ${err.code}`);
}
return whiteBalance;
}
```