阿里云RTC提供背景替换和虚化功能,您可以根据实际场景使用该功能完善RTC使用体验。通过阅读本文,您可以了解到虚拟背景的集成与实现方法。

前提条件

环境中已安装Android Studio 3.0或以上版本,下载地址请参见Android Studio

环境要求

Android NDK为14或以上版本,其他环境要求,请参见各平台SDK的使用限制

使用限制

背景替换和虚化功能不能同时开启,使用时只能开启其一。

集成开发环境

  1. 创建Android Studio项目,具体操作,请参见Android Developers
  2. 集成阿里云RTC SDK,具体操作,请参见集成客户端SDK
    说明 需要集成RTC SDK 2.5及以上版本,SDK下载请参见SDK下载
  3. 集成虚拟背景组件。
    1. 下载并解压虚拟背景组件,下载地址请参见组件下载
    2. 复制库文件至App模块下的libs文件夹中。
      • 如果CPU架构为armeabi-v7a,请将armeabi-v7a目录下的libbokeh.solibc++_shared.solibtensorflowlite.solibtensorflowlite_gpu_delegate.so文件复制到程序的执行路径下。
      • 如果CPU架构为arm64-v8a,请将arm64-v8a目录下的libbokeh.solibc++_shared.solibtensorflowlite.solibtensorflowlite_gpu_delegate.so文件复制到程序的执行路径下。
  4. 编译。如果编译成功,表示虚拟背景组件集成成功。

功能实现——背景替换

您可以通过调用enableBackgroundExchange实现背景替换功能,如下所示:

//开启背景替换:
int result = mAliRtcEngine.enableBackgroundExchange(true, "image.png", AliRtcEngine.AliRtcBokehScaleModel.AliRtcBokehScaleModelCrop);

//关闭背景替换:
int result = mAliRtcEngine.enableBackgroundExchange(false, "", AliRtcEngine.AliRtcBokehScaleModel.AliRtcBokehScaleModelCrop);

功能实现——背景虚化

您可以通过调用enableBackgroundBlur实现背景虚化功能,如下所示:

//开启背景虚化
int blurDegree = 50;// 取值:[0,100]
int result = mAliRtcEngine.enableBackgroundBlur(true, blurDegree);

//关闭背景虚化
int result = mAliRtcEngine.enableBackgroundBlur(false, 0);