跳到主要内容

美颜插件

官方美颜插件​

提示

从 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][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][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. 修改您的项目配置。在 General → Frameworks, 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];