# 虚拟背景 (/zh-CN/api-reference/rtc/android/video/video-prenpro/virtualbackground)

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

<a id="toc_virtualbackground"></a>

<a id="api_irtcengine_enablevirtualbackground"></a>

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

## enableVirtualBackground [1/2] [#enablevirtualbackground-12]

启用或关闭虚拟背景功能。

<a id="api_irtcengine_enablevirtualbackground__prototype"></a>

```java
public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty);
```

<a id="api_irtcengine_enablevirtualbackground__detailed_desc"></a>

虚拟背景功能支持本地用户将原始背景替换为静态图片、动态视频、模糊背景或人像背景分割，以实现画中画效果。启用该功能后，频道内所有用户都可以看到自定义背景。请在调用 [enableVideo](/zh-CN/api-reference/rtc/android/video/video-basic#api_irtcengine_enablevideo) 或 `startPreview` 后调用该方法。

:::note
注：

- 使用视频作为虚拟背景会导致内存持续增长，可能引发应用崩溃等问题。建议降低视频的分辨率和帧率。
- 此功能对设备性能要求较高。调用该方法时，SDK 会自动检测当前设备的性能。声网建议在以下处理器设备上使用该功能：

  - Snapdragon 700 系列 750G 及以上版本。
  - Snapdragon 800 系列 835 及以上版本。
  - Dimensity 700 系列 720 及以上版本。
  - Kirin 800 系列 810 及以上版本。
  - Kirin 900 系列 980 及以上版本。
- 声网建议在以下场景中使用该功能：

  - 使用高清摄像头设备，且环境光线均匀。
  - 拍摄画面中物体较少，人像为半身像且无遮挡。
  - 背景为纯色，且与用户服装颜色有明显区别。
- 此方法依赖虚拟背景动态库 libagora_segmentation_extension.so。若该动态库被删除，则无法正常启用该功能。
:::

<a id="api_irtcengine_enablevirtualbackground__parameters"></a>

### 参数 [#参数]

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

是否启用虚拟背景：

- true：启用虚拟背景。
- false：关闭虚拟背景。

</Parameter>
<a id="backgroundsource"></a>
<Parameter name="backgroundSource">

自定义背景。为了使自定义背景图像的分辨率适配 SDK 采集的视频分辨率，SDK 会对图像进行缩放和裁剪，确保图像内容不失真。详见 [VirtualBackgroundSource](/zh-CN/api-reference/rtc/android/class-virtualbackgroundsource)。

</Parameter>
<a id="segproperty"></a>
<Parameter name="segproperty">

背景图像的处理属性。详见 [SegmentationProperty](/zh-CN/api-reference/rtc/android/class-segmentationproperty)。

</Parameter>
</ParameterList>

<a id="api_irtcengine_enablevirtualbackground__return_values"></a>

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

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

  - -4：设备性能不满足虚拟背景功能的要求。声网建议在性能更高的设备上尝试。

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

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

<a id="api_irtcengine_enablevirtualbackground2"></a>

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

## enableVirtualBackground [2/2] [#enablevirtualbackground-22]

启用虚拟背景并指定媒体源，或关闭虚拟背景。

<a id="api_irtcengine_enablevirtualbackground2__prototype"></a>

```java
public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, Constants.MediaSourceType sourceType);
```

<a id="api_irtcengine_enablevirtualbackground2__detailed_desc"></a>

该方法用于启用或关闭虚拟背景功能。你可以将原始背景替换为静态图片、动态视频、模糊背景或人像背景分割，以实现画中画效果。启用后，频道内所有用户都可以看到自定义背景。

该方法与 [enableVirtualBackground [1/2]](/zh-CN/api-reference/rtc/android/video/video-prenpro/virtualbackground#api_irtcengine_enablevirtualbackground) 功能相同，但本方法允许你指定应用虚拟背景的媒体源类型。请在调用 [enableVideo](/zh-CN/api-reference/rtc/android/video/video-basic#api_irtcengine_enablevideo) 或 `startPreview` 后调用本方法。

:::note
注：

- 使用视频作为虚拟背景会导致内存持续增长，可能引发应用崩溃。建议降低视频的分辨率和帧率。
- 此功能对设备性能要求较高。调用本方法时，SDK 会自动检测当前设备的能力。声网建议在以下处理器设备上使用该功能：

  - Snapdragon 700 系列 750G 及以上版本。
  - Snapdragon 800 系列 835 及以上版本。
  - Dimensity 700 系列 720 及以上版本。
  - Kirin 800 系列 810 及以上版本。
  - Kirin 900 系列 980 及以上版本。
- 声网建议在以下场景中使用该功能：

  - 使用高清摄像头设备，且环境光线均匀。
  - 拍摄画面中物体较少，人像为半身像且无遮挡。
  - 背景为纯色，且与用户服装颜色有明显区别。
- 本方法依赖虚拟背景动态库 libagora_segmentation_extension.so。若该动态库被删除，则无法正常启用该功能。
:::

<a id="api_irtcengine_enablevirtualbackground2__parameters"></a>

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

<ParameterList>
<a id="enabled-1"></a>
<Parameter name="enabled">

是否启用虚拟背景：

- true：启用虚拟背景。
- false：关闭虚拟背景。

</Parameter>
<a id="backgroundsource-1"></a>
<Parameter name="backgroundSource">

自定义背景。SDK 会对自定义背景图像进行缩放和裁剪，以适配采集的视频分辨率，并确保图像内容不失真。详见 [VirtualBackgroundSource](/zh-CN/api-reference/rtc/android/class-virtualbackgroundsource)。

</Parameter>
<a id="segproperty-1"></a>
<Parameter name="segproperty">

背景图像的处理属性。详见 [SegmentationProperty](/zh-CN/api-reference/rtc/android/class-segmentationproperty)。

</Parameter>
<a id="sourcetype"></a>
<Parameter name="sourceType">

媒体源类型。详见 [MediaSourceType](/zh-CN/api-reference/rtc/android/enum-mediasourcetype)。

:::note
注： 在本方法中，该参数仅支持以下两种设置：

- 默认值为 `PRIMARY_CAMERA_SOURCE`。
- 若使用自定义视频源，请将该参数设置为 `CUSTOM_VIDEO_SOURCE`。
:::

</Parameter>
</ParameterList>

<a id="api_irtcengine_enablevirtualbackground2__return_values"></a>

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

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

  - -4：设备能力不满足虚拟背景功能的要求。声网建议在性能更高的设备上尝试使用该功能。

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

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