iOS&Mac

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

功能简介

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

使用效果

image

使用方法

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

/**
 * @ingroup OC_DingRtcEngineVideo
 * @since 3.3
 * @brief 开启或关闭虚拟背景。
 * @private
 * @param enable 是否开启。
 * @param options 虚拟背景参数。
 * @return
 * - 0:成功;
 * - 非0:失败。
 */
- (int)enableVirtualBackground:(BOOL)enable withOption:(DingRtcVirtualBackgroundOptions *)options;

名称

类型

描述

enable

BOOL

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

options

DingRtcVirtualBackgroundOptions

虚拟背景参数

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

/**
 * @brief 视频虚拟背景选项
 */
__attribute__((visibility("default"))) @interface DingRtcVirtualBackgroundOptions : NSObject

/** 虚拟背景模式。 */
@property (nonatomic, assign) DingRtcVirtualBackgroundMode mode;
/** 背景文件路径。 */
@property (nonatomic, strong) NSString * _Nonnull bgFilePath;
@end
/**
 * @brief 视频虚拟背景模式
 */
typedef NS_ENUM(NSInteger, DingRtcVirtualBackgroundMode) {
    /** 背景虚化。 */
    DingRtcVirtualBackgroundBlur = 0,
    /** 背景替换。 */
    DingRtcVirtualBackgroundReplace = 1,
};