Android

DingRTC SDK为您提供虚拟背景和背景虚化功能的接口。通过阅读本文,您可以了解在Android平台使用虚拟背景和背景虚化的效果和相关流程。

功能简介

DingRTC SDK 在 3.5 及以上版本中提供了虚拟背景和背景虚化功能。该功能能够将用户人像和背景分割开来,虚拟背景是指以自定义的图片替代真实背景,背景虚化是指虚化用户周围的真实环境。虚拟背景适用于在线会议、在线教育、直播等场景,有助于保护个人隐私,也能避免杂乱背景对观众造成干扰。

使用方法

  1. Android平台,DingRTC SDK 通过enableVirtualBackground方法设置是否启用虚拟背景。

/**
 * @ingroup Android_DingRtcEngineVideo
 * @since 3.5
 * @brief 开启或关闭虚拟背景功能,并设置参数
 * @param enable 
 * - true:开启虚拟背景功能。
 * - false:关闭虚拟背景功能。
 * @param options 虚拟背景参数,详细定义见{@link com::ding::rtc::DingRtcEngine::DingRtcVirtualBackgroundOptions}。
 * @return
 * - 0:成功
 * - < 0:失败
 */
public abstract int enableVirtualBackground(boolean enable, DingRtcVirtualBackgroundOptions options);

名称

类型

描述

enable

BOOL

YES表示启用,NO表示关闭,默认为NO。

options

DingRtcVirtualBackgroundOptions

虚拟背景参数

  1. 视频虚拟背景选项,mode设置为DingRtcEngineVirtualBackgroundBlur,即为背景虚化;mode设置为DingRtcEngineVirtualBackgroundReplace,即为虚拟背景,此时需要指定bgFilePath为背景图片路径

/**
 * @ingroup Android_DingRtcDef
 * @since 3.5
 * @brief 虚拟背景参数。
 */
public static class DingRtcVirtualBackgroundOptions {
    /**
     * 虚拟背景模式。
     */
    public DingRtcEngineVirtualBackgroundMode mode = DingRtcEngineVirtualBackgroundMode.DingRtcEngineVirtualBackgroundBlur;

    /**
     * 虚拟背景的背景图片路径
     */
    public String bgFilePath = null;

    
}
/**
 * @ingroup Android_DingRtcDef
 * @since 3.5
 * @brief 虚拟背景模式
 */
public enum DingRtcEngineVirtualBackgroundMode {
    /*! 背景虚化。 */
    DingRtcEngineVirtualBackgroundBlur(0),

    /*! 背景替换。 */
    DingRtcEngineVirtualBackgroundReplace(1);

    private final int value;

    DingRtcEngineVirtualBackgroundMode(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}