虚拟背景
enableVirtualBackground [1/2]
启用或关闭虚拟背景功能。
Java
public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty);
虚拟背景功能支持本地用户将原始背景替换为静态图片、动态视频、模糊背景或人像背景分割,以实现画中画效果。启用该功能后,频道内所有用户都可以看到自定义背景。请在调用 enableVideo 或 startPreview 后调用该方法。
信息
- 使用视频作为虚拟背景会导致内存持续增长,可能引发应用崩溃等问题。建议降低视频的分辨率和帧率。
- 此功能对设备性能要求较高。调用该方法时,SDK 会自动检测当前设备的性能。声网建议在以下处理器设备上使用该功能:
- Snapdragon 700 系列 750G 及以上版本。
- Snapdragon 800 系列 835 及以上版本。
- Dimensity 700 系列 720 及以上版本。
- Kirin 800 系列 810 及以上版本。
- Kirin 900 系列 980 及以上版本。
- 声网建议在以下场景中使用该功能:
- 使用高清摄像头设备,且环境光线均匀。
- 拍摄画面中物体较少,人像为半身像且无遮挡。
- 背景为纯色,且与用户服装颜色有明显区别。
- 此方法依赖虚拟背景动态库 libagora_segmentation_extension.so。若该动态库被删除,则无法正常启用该功能。
参数
- enabled
- 是否启用虚拟背景:
- true:启用虚拟背景。
- false:关闭虚拟背景。
- backgroundSource
- 自定义背景。为了使自定义背景图像的分辨率适配 SDK 采集的视频分辨率,SDK 会对图像进行缩放和裁剪,确保图像内容不失真。详见 VirtualBackgroundSource。
- segproperty
- 背景图像的处理属性。详见 SegmentationProperty。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -4:设备性能不满足虚拟背景功能的要求。声网建议在性能更高的设备上尝试。
enableVirtualBackground [2/2]
启用虚拟背景并指定媒体源,或关闭虚拟背景。
Java
public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, Constants.MediaSourceType sourceType);
该方法用于启用或关闭虚拟背景功能。你可以将原始背景替换为静态图片、动态视频、模糊背景或人像背景分割,以实现画中画效果。启用后,频道内所有用户都可以看到自定义背景。 该方法与 enableVirtualBackground [1/2] 功能相同,但本方法允许你指定应用虚拟背景的媒体源类型。请在调用 enableVideo 或 startPreview 后调用本方法。
信息
- 使用视频作为虚拟背景会导致内存持续增长,可能引发应用崩溃。建议降低视频的分辨率和帧率。
- 此功能对设备性能要求较高。调用本方法时,SDK 会自动检测当前设备的能力。声网建议在以下处理器设备上使用该功能:
- Snapdragon 700 系列 750G 及以上版本。
- Snapdragon 800 系列 835 及以上版本。
- Dimensity 700 系列 720 及以上版本。
- Kirin 800 系列 810 及以上版本。
- Kirin 900 系列 980 及以上版本。
- 声网建议在以下场景中使用该功能:
- 使用高清摄像头设备,且环境光线均匀。
- 拍摄画面中物体较少,人像为半身像且无遮挡。
- 背景为纯色,且与用户服装颜色有明显区别。
- 本方法依赖虚拟背景动态库 libagora_segmentation_extension.so。若该动态库被删除,则无法正常启用该功能。
参数
- enabled
- 是否启用虚拟背景:
- true:启用虚拟背景。
- false:关闭虚拟背景。
- backgroundSource
- 自定义背景。SDK 会对自定义背景图像进行缩放和裁剪,以适配采集的视频分辨率,并确保图像内容不失真。详见 VirtualBackgroundSource。
- segproperty
- 背景图像的处理属性。详见 SegmentationProperty。
- sourceType
- 应用滤镜效果的媒体源类型。详见 MediaSourceType。信息在本方法中,该参数仅支持以下两种设置:
- 默认值为
PRIMARY_CAMERA_SOURCE。 - 若使用自定义视频源,请将该参数设置为
CUSTOM_VIDEO_SOURCE。
- 默认值为
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -4:设备能力不满足虚拟背景功能的要求。声网建议在性能更高的设备上尝试使用该功能。