跳到主要内容

美颜插件

官方美颜插件

提示

从 5.1.4 及之后版本开始,融云 RTCLib SDK 支持美颜和滤镜功能。美颜与滤镜功能以 RongFaceBeautifier 插件库形式提供,并已集成于 SDK 中。

集成使用

RongCloudRTC 升级到 5.1.4 及以后版本,在需要美颜功能的文件中导入美颜插件头文件:

Objective C
#import <RongFaceBeautifier/RongFaceBeautifier.h>
提示

确保在设置美颜和滤镜之前已经初始化 RCRTCEngine 引擎。

您可以使用 RCRTCBeautyEngine 单例的 setBeautyOption:option:setBeautyFilter: 方法设置美颜参数和滤镜。

设置美颜

接口原型

Objective C
- (BOOL)setBeautyOption:(BOOL)enable option:(RCRTCBeautyOption *)option;

参数说明

参数类型是否必填说明
enableBOOL是否开启美颜
option[RCRTCBeautyOption]美颜参数对象,支持设置 whitenessLevel(美白)、smoothLevel(磨皮)、ruddyLevel(红润)和 brightLevel(亮度),当 enable 为 NO 时可以传 nil

返回值

设置成功返回 YES,失败返回 NO

代码示例

Objective C
#import <RongFaceBeautifier/RongFaceBeautifier.h>

// 创建美颜参数对象
RCRTCBeautyOption *option = [[RCRTCBeautyOption alloc] init];
option.whitenessLevel = 8; // 美白程度 (0-10)
option.smoothLevel = 6; // 磨皮程度 (0-10)
option.ruddyLevel = 5; // 红润程度 (0-10)
option.brightLevel = 3; // 亮度程度 (0-10)

// 启用美颜
BOOL success = [[RCRTCBeautyEngine sharedInstance] setBeautyOption:YES option:option];

设置滤镜

接口原型

Objective C
- (BOOL)setBeautyFilter:(RCRTCBeautyFilter)filter;

参数说明

参数类型是否必填说明
filter[RCRTCBeautyFilter]滤镜类型,支持设置唯美、清新和浪漫三种基础滤镜。

返回值

设置成功返回 YES,失败返回 NO

代码示例

Objective C
#import <RongFaceBeautifier/RongFaceBeautifier.h>

// 设置唯美滤镜
BOOL success = [[RCRTCBeautyEngine sharedInstance] setBeautyFilter:RCRTCBeautyFilterEsthetic];

// 关闭滤镜
[[RCRTCBeautyEngine sharedInstance] setBeautyFilter:RCRTCBeautyFilterNone];

重置参数

因为 RCRTCBeautyEngine 类是单例对象,所以会保留开发者设置的美颜参数或滤镜类型,在需要重置美颜的时候(例如重复进入房间时)需要调用 reset 方法重置所有美颜参数和滤镜。

接口原型

Objective C
- (void)reset;

代码示例

Objective C
#import <RongFaceBeautifier/RongFaceBeautifier.h>

// 重置所有美颜参数和滤镜设置
[[RCRTCBeautyEngine sharedInstance] reset];

相芯美颜插件

提示

从 5.2.5 及之后版本开始,融云 RTCLib SDK 支持相芯美颜插件。使用相芯美颜需要购买相关授权,详情请咨询融云商务。

插件已经对美颜、滤镜、美形和美肤等功能接口进行了封装,后续版本将继续完善。

当前不支持同时使用官方美颜和相芯美颜插件。

插件对应的相芯 SDK 的版本号为 8.3.0。暂不支持加载用户自定义的 bundle。

集成相芯美颜插件

CocoaPods 导入

  1. 如果您的项目中没有 Podfile 文件,您需要打开终端并进入到项目的根目录,在终端中运行 pod init 命令,之后系统会自动创建一个默认的 Podfile 文件,在项目中的 Podfile 文件中添加如下内容:
ruby
pod 'RongFUFaceBeautifier', '~> x.y.z'
提示

x.y.z 代表当前 RTCLib 的具体版本号(插件版本号需要与 RTCLib 版本号一致)。您可以在融云官网 SDK 下载页面或在终端中通过先执行 pod repo update,再执行 pod search RongFUFaceBeautifier 命令在 CocoaPods 仓库查询最新的版本。 :::

  1. 打开终端并进入到 Podfile 文件所在的目录,在终端中运行以下命令:

bash
pod install
提示

如果终端中出现类似 CocoaPods could not find compatible versions for 等找不到相关版本的报错,可先在终端中执行 pod repo update 命令,再执行 pod install 命令。

  1. 通过 Xcode 打开项目目录下的 xcworkspace 文件加载工程。

手动集成

  1. 您可以前往融云官网 SDK 下载页面,将相芯美颜插件 SDK 下载到本地。

  2. 使用 Xcode 打开您的工程,然后将下载下来的 SDK 手动拖入到您的项目中,所需的 SDK 如下:

Framework
  • RongFUFaceBeautifier.xcframework
  • fuai.xcframework
  • CNamaSDK.xcframework
  1. 修改您的项目配置。在 GeneralFrameworks, Libraries, and Embedded Binaries 中,将手动导入的相芯美颜插件 SDK 所有的 Framework 全部改为 Embed & Sign

导入头文件

在需要美颜功能的文件中导入美颜插件头文件:

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

初始化

应用运行期间只调用一次即可。

接口原型

Objective C
- (BOOL)registerWithAuthPackage:(void *)package authSize:(int)size;

参数说明

参数类型是否必填说明
packagevoid *密钥数组,必须配置好密钥,SDK 才能正常工作
sizeint密钥数组大小

返回值

注册成功返回 YES,失败返回 NO

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// auth_package 为相芯美颜授权文件
BOOL success = [[RCRTCFUBeautyEngine sharedInstance] registerWithAuthPackage:&auth_package authSize:sizeof(auth_package)];

美颜开关

打开美颜开关后设置的美颜效果才会生效;关闭开关美颜会失效。

接口原型

Objective C
- (void)setBeautyEnable:(BOOL)enable;

参数说明

参数类型是否必填说明
enableBOOL是否启用美颜功能

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// 启用美颜功能
[[RCRTCFUBeautyEngine sharedInstance] setBeautyEnable:YES];

// 关闭美颜功能
[[RCRTCFUBeautyEngine sharedInstance] setBeautyEnable:NO];

滤镜设置

滤镜可设置自然、白亮、冷色调、粉嫩、黑白、暖色调、蜜桃等效果。参数分两种:滤镜类别、滤镜级别。

接口原型

Objective C
- (void)setFilterWithName:(NSString *)name level:(float)level;

参数说明

参数类型是否必填说明
nameNSString *滤镜名称(如 "自然"、"白亮" 等)
levelfloat滤镜强度,取值范围 0.0 ~ 1.0

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// 设置自然滤镜,强度为 0.8
[[RCRTCFUBeautyEngine sharedInstance] setFilterWithName:@"自然" level:0.8];

// 关闭滤镜
[[RCRTCFUBeautyEngine sharedInstance] setFilterWithName:@"" level:0.0];

美型设置

美型可设置瘦脸程度、V脸程度、窄脸程度、小脸程度、瘦鼻程度、嘴巴调整程度、开眼角强度、眼睛间距、鼻子长度、人中长度、微笑嘴角强度、瘦颧骨强度等效果。以下是设置瘦脸程度的接口调用示例,其他接口请参考插件头文件。

接口原型

Objective C
- (void)setCheekThinningIntensity:(float)level;

参数说明

参数类型是否必填说明
levelfloat瘦脸强度,取值范围 0.0 ~ 1.0

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// 设置瘦脸程度为 0.5
[[RCRTCFUBeautyEngine sharedInstance] setCheekThinningIntensity:0.5];

美肤设置

可设置磨皮、美白、红润、锐化、亮眼、美牙、去除黑眼圈、去除法令纹强度等。以下是设置磨皮强度的接口调用示例,其他接口请参考插件头文件。

接口原型

Objective C
- (void)setBlurIntensity:(float)level;

参数说明

参数类型是否必填说明
levelfloat磨皮强度,取值范围 0.0~6.0,默认 6.0

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// 设置磨皮强度为 0.6
[[RCRTCFUBeautyEngine sharedInstance] setBlurIntensity:0.6];

重置所有美颜效果

执行此方法后,会重置所有美颜美形效果,并释放素材和模型资源,但不会关闭美颜引擎。下次启用美颜需要重新调用 setBeautyEnable: 方法。

接口原型

Objective C
- (void)reset;

代码示例

Objective C
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

// 重置所有美颜效果
[[RCRTCFUBeautyEngine sharedInstance] reset];