美颜插件
官方美颜插件
从 5.1.4 及之后版本开始,融云 RTCLib SDK 支持美颜和滤镜功能。美颜与滤镜功能以 RongFaceBeautifier 插件库形式提供,并已集成于 SDK 中。
集成使用
将 RongCloudRTC 升级到 5.1.4 及以后版本,在需要美颜功能的文件中导入美颜插件头文件:
#import <RongFaceBeautifier/RongFaceBeautifier.h>
确保在设置美颜和滤镜之前已经初始化 RCRTCEngine 引擎。
您可以使用 RCRTCBeautyEngine 单例的 setBeautyOption:option: 和 setBeautyFilter: 方法设置美颜参数和滤镜。
设置美颜
接口原型
- (BOOL)setBeautyOption:(BOOL)enable option:(RCRTCBeautyOption *)option;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| enable | BOOL | 是 | 是否开启美颜 |
| option | [RCRTCBeautyOption] | 否 | 美颜参数对象,支持设置 whitenessLevel(美白)、smoothLevel(磨皮)、ruddyLevel(红润)和 brightLevel(亮度),当 enable 为 NO 时可以传 nil |
返回值
设置成功返回 YES,失败返回 NO。
代码示例
#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];
设置滤镜
接口原型
- (BOOL)setBeautyFilter:(RCRTCBeautyFilter)filter;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| filter | [RCRTCBeautyFilter] | 是 | 滤镜类型,支持设置唯美、清新和浪漫三种基础滤镜。 |
返回值
设置成功返回 YES,失败返回 NO。
代码示例
#import <RongFaceBeautifier/RongFaceBeautifier.h>
// 设置唯美滤镜
BOOL success = [[RCRTCBeautyEngine sharedInstance] setBeautyFilter:RCRTCBeautyFilterEsthetic];
// 关闭滤镜
[[RCRTCBeautyEngine sharedInstance] setBeautyFilter:RCRTCBeautyFilterNone];
重置参数
因为 RCRTCBeautyEngine 类是单例对象,所以会保留开发者设置的美颜参数或滤镜类型,在需要重置美颜的时候(例如重复进入房间时)需要调用 reset 方法重置所有美颜参数和滤镜。
接口原型
- (void)reset;
代码示例
#import <RongFaceBeautifier/RongFaceBeautifier.h>
// 重置所有美颜参数和滤镜设置
[[RCRTCBeautyEngine sharedInstance] reset];
相芯美颜插件
从 5.2.5 及之后版本开始,融云 RTCLib SDK 支持相芯美颜插件。使用相芯美颜需要购买相关授权,详情请咨询融云商务。
插件已经对美颜、滤镜、美形和美肤等功能接口进行了封装,后续版本将继续完善。
当前不支持同时使用官方美颜和相芯美颜插件。
插件对应的相芯 SDK 的版本号为 8.3.0。暂不支持加载用户自定义的 bundle。
集成相芯美颜插件
CocoaPods 导入
- 如果您的项目中没有
Podfile文件,您需要打开终端并进入 到项目的根目录,在终端中运行pod init命令,之后系统会自动创建一个默认的Podfile文件,在项目中的Podfile文件中添加如下内容:
pod 'RongFUFaceBeautifier', '~> x.y.z'
x.y.z 代表当前 RTCLib 的具体版本号(插件版本号需要与 RTCLib 版本号一致)。您可以在融云官网 SDK 下载页面或在终端中通过先执行 pod repo update,再执行 pod search RongFUFaceBeautifier 命令在 CocoaPods 仓库查询最新的版本。
:::
-
打开终端并进入到
Podfile文件所在的目录,在终端中运行以下命令:
pod install
如果终端中出现类似 CocoaPods could not find compatible versions for 等找不到相关版本的报错,可先在终端中执行 pod repo update 命令,再执行 pod install 命令。
- 通过 Xcode 打开项目目录下的
xcworkspace文件加载工程。
手动集成
-
您可以前往融云官网 SDK 下载页面,将相芯美颜插件 SDK 下载到本地。
-
使用 Xcode 打开您的工程,然后将下载下来的 SDK 手动拖入到您的项目中,所需的 SDK 如下:
| Framework |
|---|
|
- 修改您的项目配置。在
General→Frameworks, Libraries, and Embedded Binaries中,将手动导入的相芯美颜插件 SDK 所有的 Framework 全部改为Embed & Sign。
导入头文件
在需要美颜功能的文件中导入美颜插件头文件:
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
初始化
应用运行期间只调用一次即可。
接口原型
- (BOOL)registerWithAuthPackage:(void *)package authSize:(int)size;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| package | void * | 是 | 密钥数组,必须配置好密钥,SDK 才能正常工作 |
| size | int | 是 | 密钥数组大小 |
返回值
注册成功返回 YES,失败返回 NO。
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// auth_package 为相芯美颜授权文件
BOOL success = [[RCRTCFUBeautyEngine sharedInstance] registerWithAuthPackage:&auth_package authSize:sizeof(auth_package)];
美颜开关
打开美颜开关后设置的美颜效果才会生效;关闭开关美颜会失效。
接口原型
- (void)setBeautyEnable:(BOOL)enable;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| enable | BOOL | 是 | 是否启用美颜功能 |
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// 启用美颜功能
[[RCRTCFUBeautyEngine sharedInstance] setBeautyEnable:YES];
// 关闭美颜功能
[[RCRTCFUBeautyEngine sharedInstance] setBeautyEnable:NO];
滤镜设置
滤镜可设置自然、白亮、冷色调、粉嫩、黑白、暖色调、蜜桃等效果。参数分两种:滤镜类别、滤镜级别。
接口原型
- (void)setFilterWithName:(NSString *)name level:(float)level;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | NSString * | 是 | 滤镜名称(如 "自然"、"白亮" 等) |
| level | float | 是 | 滤镜强度,取值范围 0.0 ~ 1.0 |
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// 设置自然滤镜,强度为 0.8
[[RCRTCFUBeautyEngine sharedInstance] setFilterWithName:@"自然" level:0.8];
// 关闭滤镜
[[RCRTCFUBeautyEngine sharedInstance] setFilterWithName:@"" level:0.0];
美型设置
美型可设置瘦脸程度、V脸程度、窄脸程度、小脸程度、瘦鼻程度、嘴巴调整程度、开眼角强度、眼睛间距、鼻子长度、人中长度、微笑嘴角强度、瘦颧骨强度等效果。以下是设置瘦脸程度的接口调用示例,其他接口请参考插件头文件。
接口原型
- (void)setCheekThinningIntensity:(float)level;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| level | float | 是 | 瘦脸强度,取值范围 0.0 ~ 1.0 |
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// 设置瘦脸程度为 0.5
[[RCRTCFUBeautyEngine sharedInstance] setCheekThinningIntensity:0.5];
美肤设置
可设置磨皮、美白、红润、锐化、亮眼、美牙、去除黑眼圈、去除法令纹强度等。以下是设置磨皮强度的接口调用示例,其他接口请参考插件头文件。
接口原型
- (void)setBlurIntensity:(float)level;
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| level | float | 是 | 磨皮强度,取值范围 0.0~6.0,默认 6.0 |
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// 设置磨皮强度为 0.6
[[RCRTCFUBeautyEngine sharedInstance] setBlurIntensity:0.6];
重置所有美颜效果
执行此方法后,会重置所有美颜美形效果,并释放素材和模型资源,但不会关闭美颜引擎。下次启用美颜需要重新调用 setBeautyEnable: 方法。
接口原型
- (void)reset;
代码示例
#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>
// 重置所有美颜效果
[[RCRTCFUBeautyEngine sharedInstance] reset];