Windows

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

功能简介

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

使用效果

image

使用方法

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

    /**
     * @ingroup CPP_DingRtcEngineMediaEngine
     * @brief 开启或关闭虚拟背景。
     * @param enable 是否开启。
     * @param options 虚拟背景参数。
     * @return
     * - 0:成功;
     * - 非0:失败。
     */
    virtual int EnableVirtualBackground(bool enable, ding::rtc::RtcEngineVirtualBackgroundOptions options) = 0;

名称

类型

描述

enable

BOOL

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

options

RtcEngineVirtualBackgroundOptions

虚拟背景参数

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

/**
 * @ingroup CPP_DingRtcDef
 * @since 3.3
 * @brief 虚拟背景选项。
 */
struct RtcEngineVirtualBackgroundOptions {
    /** 虚拟背景模式。
     */
    RtcEngineVirtualBackgroundMode mode;
    /** 虚拟背景图片路径。
     */
    const char* bgFilePath;
    
    RtcEngineVirtualBackgroundOptions()
        : mode(RtcEngineVirtualBackgroundBlur)
        , bgFilePath(nullptr)
    {}
};
/**
 * @ingroup CPP_DingRtcDef
 * @since 3.3
 * @brief 虚拟背景选项。
 */
enum RtcEngineVirtualBackgroundMode {
    /** 背景虚化。
     */
    RtcEngineVirtualBackgroundBlur = 0,
    /** 背景替换。
     */
    RtcEngineVirtualBackgroundReplace = 1,
};