# 视频设备管理 (/zh-CN/api-reference/rtc/harmonyos/device-management/video-device)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="toc_video_device"></a>

<a id="api_irtcengine_getcameramaxzoomfactor"></a>

<a id="ariaid-title2"></a>

## getCameraMaxZoomFactor [#getcameramaxzoomfactor]

获取摄像头支持最大缩放比例。

<a id="api_irtcengine_getcameramaxzoomfactor__prototype"></a>

```ts
public abstract getCameraMaxZoomFactor(): number;
```

<a id="api_irtcengine_getcameramaxzoomfactor__detailed_desc"></a>

### 详情 [#详情]

:::caution
注意：

- 该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。
:::

<a id="api_irtcengine_getcameramaxzoomfactor__return_values"></a>

### 返回值 [#返回值]

设备摄像头支持的最大缩放比例。

### 所属接口类 [#所属接口类]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscameraautofocusfacemodesupported"></a>

<a id="ariaid-title3"></a>

## isCameraAutoFocusFaceModeSupported [#iscameraautofocusfacemodesupported]

检测设备是否支持人脸对焦功能。

<a id="api_irtcengine_iscameraautofocusfacemodesupported__prototype"></a>

```ts
public abstract isCameraAutoFocusFaceModeSupported(): boolean;
```

<a id="api_irtcengine_iscameraautofocusfacemodesupported__detailed_desc"></a>

### 详情 [#详情-1]

:::caution
注意：

- 该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。
:::

<a id="api_irtcengine_iscameraautofocusfacemodesupported__return_values"></a>

### 返回值 [#返回值-1]

- `true`: 设备支持人脸对焦功能。
- `false`: 设备不支持人脸对焦功能。

### 所属接口类 [#所属接口类-1]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscameraexposurepositionsupported"></a>

<a id="ariaid-title4"></a>

## isCameraExposurePositionSupported [#iscameraexposurepositionsupported]

检测设备是否支持手动曝光功能。

<a id="api_irtcengine_iscameraexposurepositionsupported__prototype"></a>

```ts
public abstract isCameraExposurePositionSupported(): boolean;
```

<a id="api_irtcengine_iscameraexposurepositionsupported__detailed_desc"></a>

### 详情 [#详情-2]

:::caution
注意：

- 该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。
:::

<a id="api_irtcengine_iscameraexposurepositionsupported__return_values"></a>

### 返回值 [#返回值-2]

- `true`: 设备支持手动曝光功能。
- `false`: 设备不支持手动曝光功能。

### 所属接口类 [#所属接口类-2]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscameraexposuresupported"></a>

<a id="ariaid-title5"></a>

## isCameraExposureSupported [#iscameraexposuresupported]

查询当前摄像头是否支持曝光调节。

<a id="api_irtcengine_iscameraexposuresupported__prototype"></a>

```ts
public abstract isCameraExposureSupported(): boolean;
```

<a id="api_irtcengine_iscameraexposuresupported__detailed_desc"></a>

### 详情 [#详情-3]

:::caution
注意：

- 该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。
- 建议你在调用 [setCameraExposureFactor](/zh-CN/api-reference/rtc/harmonyos/device-management/video-device#factor) 调节曝光系数前，先调用该方法查询当前摄像头是否支持曝光调节。
- 当你调用该方法时，查询的是当前正在使用的摄像头是否支持曝光调节，即调用 [setCameraCapturerConfiguration](/zh-CN/api-reference/rtc/harmonyos/device-management/video-device#api_irtcengine_setcameracapturerconfiguration) 时指定的摄像头。
:::

<a id="api_irtcengine_iscameraexposuresupported__return_values"></a>

### 返回值 [#返回值-3]

- `true`：方法调用成功。
- `false`：方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-3]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscamerafacedetectsupported"></a>

<a id="ariaid-title6"></a>

## isCameraFaceDetectSupported [#iscamerafacedetectsupported]

检查设备摄像头是否支持人脸检测。

<a id="api_irtcengine_iscamerafacedetectsupported__prototype"></a>

```ts
public abstract isCameraFaceDetectSupported(): boolean;
```

<a id="api_irtcengine_iscamerafacedetectsupported__return_values"></a>

### 返回值 [#返回值-4]

- `true`: 设备摄像头支持人脸检测。
- `false`: 设备摄像头不支持人脸检测。

### 所属接口类 [#所属接口类-4]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscamerafocussupported"></a>

<a id="ariaid-title7"></a>

## isCameraFocusSupported [#iscamerafocussupported]

检测设备是否支持手动对焦功能。

<a id="api_irtcengine_iscamerafocussupported__prototype"></a>

```ts
public abstract isCameraFocusSupported(): boolean;
```

<a id="api_irtcengine_iscamerafocussupported__detailed_desc"></a>

### 详情 [#详情-4]

:::caution
注意：

- 该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。
:::

<a id="api_irtcengine_iscamerafocussupported__return_values"></a>

### 返回值 [#返回值-5]

- `true`: 设备支持手动对焦功能。
- `false`: 设备不支持手动对焦功能。

### 所属接口类 [#所属接口类-5]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_iscamerazoomsupported"></a>

<a id="ariaid-title8"></a>

## isCameraZoomSupported [#iscamerazoomsupported]

检测设备是否支持摄像头缩放功能。

<a id="api_irtcengine_iscamerazoomsupported__prototype"></a>

```ts
public abstract isCameraZoomSupported(): boolean;
```

<a id="api_irtcengine_iscamerazoomsupported__detailed_desc"></a>

<a id="api_irtcengine_iscamerazoomsupported__timing"></a>

### 调用时机 [#调用时机]

该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。

<a id="api_irtcengine_iscamerazoomsupported__restriction"></a>

### 调用限制 [#调用限制]

无。

<a id="api_irtcengine_iscamerazoomsupported__return_values"></a>

### 返回值 [#返回值-6]

- `true`: 设备支持相机缩放功能。
- `false`: 设备不支持相机缩放功能。

### 所属接口类 [#所属接口类-6]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_setcameraautofocusfacemodeenabled"></a>

<a id="ariaid-title9"></a>

## setCameraAutoFocusFaceModeEnabled [#setcameraautofocusfacemodeenabled]

设置是否开启人脸对焦功能。

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__prototype"></a>

```ts
public abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number;
```

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__detailed_desc"></a>

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__timing"></a>

### 调用时机 [#调用时机-1]

该方法必须在 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 ENCODING (2) 之后调用。

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__restriction"></a>

### 调用限制 [#调用限制-1]

无。

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__parameters"></a>

### 参数 [#参数]

是否开启人脸对焦：

- `true`: 开启人脸对焦功能。
- `false`: 关闭人脸对焦功能。

<a id="api_irtcengine_setcameraautofocusfacemodeenabled__return_values"></a>

### 返回值 [#返回值-7]

### 所属接口类 [#所属接口类-7]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_setcameracapturerconfiguration"></a>

<a id="ariaid-title10"></a>

## setCameraCapturerConfiguration [#setcameracapturerconfiguration]

设置摄像头采集配置。

<a id="api_irtcengine_setcameracapturerconfiguration__prototype"></a>

```ts
public abstract setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number;
```

<a id="api_irtcengine_setcameracapturerconfiguration__detailed_desc"></a>

<a id="api_irtcengine_setcameracapturerconfiguration__timing"></a>

### 调用时机 [#调用时机-2]

该方法必须在开启本地摄像头采集前调用，如 [startPreview](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#api_irtcengine_startpreview2) 和 [joinChannelWithOptions](/zh-CN/api-reference/rtc/harmonyos/channel#api_irtcengine_joinchannel2) 前调用。

<a id="api_irtcengine_setcameracapturerconfiguration__restriction"></a>

### 调用限制 [#调用限制-2]

无。

<a id="api_irtcengine_setcameracapturerconfiguration__parameters"></a>

### 参数 [#参数-1]

<ParameterList>
<a id="config"></a>
<Parameter name="config">

摄像头采集配置，详见 [CameraCapturerConfiguration](/zh-CN/api-reference/rtc/harmonyos/class-cameracapturerconfiguration)。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setcameracapturerconfiguration__return_values"></a>

### 返回值 [#返回值-8]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-8]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_setcameraexposureposition"></a>

<a id="ariaid-title11"></a>

## setCameraExposurePosition [#setcameraexposureposition]

设置手动曝光位置。

<a id="api_irtcengine_setcameraexposureposition__prototype"></a>

```ts
public abstract setCameraExposurePosition(positionXinView: number, positionYinView: number): number;
```

<a id="api_irtcengine_setcameraexposureposition__detailed_desc"></a>

### 详情 [#详情-5]

:::caution
注意：

- 该方法必须在 [enableVideo](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#api_irtcengine_enablevideo) 后调用，设置结果在摄像头成功开启后生效，即 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调返回本地视频状态为 CAPTURING (1) 后。
- 成功调用该方法后，本地会触发 [onCameraExposureAreaChanged](/zh-CN/api-reference/rtc/harmonyos/device-management/video-device#callback_irtcengineeventhandler_oncameraexposureareachanged) 回调。
:::

<a id="api_irtcengine_setcameraexposureposition__parameters"></a>

### 参数 [#参数-2]

<ParameterList>
<a id="positionxinview"></a>
<Parameter name="positionXinView">

触摸点相对于视图的横坐标。

</Parameter>
<a id="positionyinview"></a>
<Parameter name="positionYinView">

触摸点相对于视图的纵坐标。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setcameraexposureposition__return_values"></a>

### 返回值 [#返回值-9]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setcamerafocuspositioninpreview"></a>

<a id="ariaid-title12"></a>

## setCameraFocusPositionInPreview [#setcamerafocuspositioninpreview]

设置手动对焦位置，并触发对焦。

<a id="api_irtcengine_setcamerafocuspositioninpreview__prototype"></a>

```ts
public abstract setCameraFocusPositionInPreview(positionX: number, positionY: number): number;
```

<a id="api_irtcengine_setcamerafocuspositioninpreview__detailed_desc"></a>

### 详情 [#详情-6]

:::caution
注意：

- 该方法必须在 [enableVideo](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#api_irtcengine_enablevideo) 后调用，设置结果在摄像头成功开启后生效，即 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调返回本地视频状态为 CAPTURING (1) 后。
- 成功调用该方法后，本地会触发 [onCameraFocusPointChanged](/zh-CN/api-reference/rtc/harmonyos/device-management/video-device#callback_irtcengineeventhandler_oncamerafocusareachanged) 回调。
:::

<a id="api_irtcengine_setcamerafocuspositioninpreview__parameters"></a>

### 参数 [#参数-3]

<ParameterList>
<a id="positionx"></a>
<Parameter name="positionX">

触摸点相对于视图的横坐标。

</Parameter>
<a id="positiony"></a>
<Parameter name="positionY">

触摸点相对于视图的纵坐标。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setcamerafocuspositioninpreview__return_values"></a>

### 返回值 [#返回值-10]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setcamerazoomfactor"></a>

<a id="ariaid-title13"></a>

## setCameraZoomFactor [#setcamerazoomfactor]

设置摄像头缩放比例。

<a id="api_irtcengine_setcamerazoomfactor__prototype"></a>

```ts
public abstract setCameraZoomFactor(factor: number): number;
```

<a id="api_irtcengine_setcamerazoomfactor__detailed_desc"></a>

### 详情 [#详情-7]

:::caution
注意：

- 该方法必须在 [enableVideo](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#api_irtcengine_enablevideo) 后调用，设置结果在摄像头成功开启后生效，即 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调返回本地视频状态为 CAPTURING (1) 后。
:::

<a id="api_irtcengine_setcamerazoomfactor__parameters"></a>

### 参数 [#参数-4]

<ParameterList>
<a id="factor"></a>
<Parameter name="factor">

摄像头缩放比例。对不支持超广角的设备，取值范围从 1.0 到最大缩放比例；对支持超广角的设备，取值范围从 0.5 到最大缩放比例。你可以通过 [getCameraMaxZoomFactor](/zh-CN/api-reference/rtc/harmonyos/device-management/video-device#api_irtcengine_getcameramaxzoomfactor) 方法获取设备支持的最大缩放比例。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setcamerazoomfactor__return_values"></a>

### 返回值 [#返回值-11]

- 方法调用成功: 返回设置的 factor 值。
- 方法调用失败: 返回值 &lt; 0。

<a id="api_irtcengine_switchcamera"></a>

<a id="ariaid-title14"></a>

## switchCamera [#switchcamera]

切换前置/后置摄像头。

<a id="api_irtcengine_switchcamera__prototype"></a>

```ts
public abstract switchCamera(): number;
```

<a id="api_irtcengine_switchcamera__detailed_desc"></a>

<a id="api_irtcengine_switchcamera__desc"></a>

你可以调用该方法在 App 运行期间基于可用摄像头的实际情况来动态切换摄像头，而无需重启视频流或重新配置视频源。

<a id="api_irtcengine_switchcamera__timing"></a>

### 调用时机 [#调用时机-3]

该方法必须在摄像头成功开启后调用，即 SDK 触发 [onLocalVideoStateChanged](/zh-CN/api-reference/rtc/harmonyos/video/video-basic#callback_irtcengineeventhandler_onlocalvideostatechanged) 回调，返回本地视频状态为 CAPTURING (1) 后。

<a id="api_irtcengine_switchcamera__restriction"></a>

### 调用限制 [#调用限制-3]

该方法仅会对第一路摄像头采集的视频流进行摄像头切换操作，即调用 [startCameraCapture](/zh-CN/api-reference/rtc/harmonyos/video/camera-capture#api_irtcengine_startcameracapture) 时设置为 (0) 的视频源。

<a id="api_irtcengine_switchcamera__return_values"></a>

### 返回值 [#返回值-12]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-9]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="callback_irtcengineeventhandler_oncameraexposureareachanged"></a>

<a id="ariaid-title15"></a>

## onCameraExposureAreaChanged [#oncameraexposureareachanged]

摄像头曝光区域已改变回调。

<a id="callback_irtcengineeventhandler_oncameraexposureareachanged__prototype"></a>

```ts
onCameraExposureAreaChanged?:(rect:camera.Rect) => void;
```

<a id="callback_irtcengineeventhandler_oncameraexposureareachanged__parameters"></a>

### 参数 [#参数-5]

<ParameterList>
<a id="rect"></a>
<Parameter name="rect">

镜头内表示曝光的区域。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-10]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_oncamerafocusareachanged"></a>

<a id="ariaid-title16"></a>

## onCameraFocusPointChanged [#oncamerafocuspointchanged]

相机对焦区域已改变回调。

<a id="callback_irtcengineeventhandler_oncamerafocusareachanged__prototype"></a>

```ts
onCameraFocusPointChanged?:(point:camera.Point) => void;
```

<a id="callback_irtcengineeventhandler_oncamerafocusareachanged__detailed_desc"></a>

<a id="callback_irtcengineeventhandler_oncamerafocusareachanged__parameters"></a>

### 参数 [#参数-6]

<ParameterList>
<a id="point"></a>
<Parameter name="point">

镜头内表示对焦的点。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-11]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)
