enableVirtualBackground abstract method

Future<void> enableVirtualBackground({
  1. required bool enabled,
  2. required VirtualBackgroundSource backgroundSource,
  3. required SegmentationProperty segproperty,
  4. MediaSourceType type = MediaSourceType.primaryCameraSource,
})

开启/关闭虚拟背景。

虚拟背景功能支持将本地用户原来的背景替换为静态图片、动态视频、将背景虚化,或者将人像与背景分割以实现人像画中画。成功开启虚拟背景功能后,频道内所有用户都能看到自定义的背景。 请在 enableVideo 或 startPreview 之后调用该方法。 使用视频作为虚拟背景会导致内存占用持续增加,可能会导致 App 出现闪退等问题,因此在使用时请尽量降低视频的分辨率和帧率。 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。建议你在搭载如下芯片的设备上使用: 骁龙 700 系列 750G 及以上 骁龙 800 系列 835 及以上 天玑 700 系列 720 及以上 麒麟 800 系列 810 及以上 麒麟 900 系列 980 及以上 搭载 A9 及以上芯片的如下设备: iPhone 6S 及以上 iPad Air 第三代及以上 iPad 第五代及以上 iPad Pro 第一代及以上 iPad mini 第五代及以上 建议你在满足如下条件的场景中使用该功能: 使用高清摄像设备、摄像环境光照均匀。 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。 该方法依赖于虚拟背景动态库 libagora_segmentation_extension.dll ,如果删除该动态库会导致无法正常开启该功能。

  • enabled 是否开启虚拟背景: true : 开启虚拟背景。 false : 关闭虚拟背景。
  • backgroundSource 自定义的背景。详见 VirtualBackgroundSource 。为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。
  • segproperty 背景图像的处理属性。详见 SegmentationProperty 。
  • type 效果应用的媒体源类型。详见 MediaSourceType 。 在该方法中,该参数仅支持以下两种设置: 使用摄像头采集本地视频时,请保持默认值 primaryCameraSource 。 如果要使用自定义采集的视频,将该参数设置为 customVideoSource 。

Returns 方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

Implementation

Future<void> enableVirtualBackground(
    {required bool enabled,
    required VirtualBackgroundSource backgroundSource,
    required SegmentationProperty segproperty,
    MediaSourceType type = MediaSourceType.primaryCameraSource});