跳到主要内容

美颜插件

官方美颜插件

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

集成使用

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

#import <RongFaceBeautifier/RongFaceBeautifier.h>

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

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

示例代码

// 获取当前美颜参数
RCRTCBeautyOption *option = [[RCRTCBeautyEngine sharedInstance] getCurrentBeautyOption];
// 修改参数
option.whitenessLevel = 0;
option.smoothLevel = 0;
option.ruddyLevel = 0;
option.brightLevel = 5;
// 设置美颜
[[RCRTCBeautyEngine sharedInstance] setBeautyOption:YES option:option];
// 设置滤镜
[[RCRTCBeautyEngine sharedInstance] setBeautyFilter:RCRTCBeautyFilterEsthetic];

设置美颜

- (BOOL)setBeautyOption:(BOOL)enable option:(RCRTCBeautyOption *)option;
参数类型必填说明
enabledBOOL是否开启美颜
optionRCRTCBeautyOption支持开发者设置参数 whitenessLevel(美白)、smoothLevel(磨皮)、ruddyLevel(红润)和 brightLevel(亮度),当 enabled 为 NO 时可以传 nil

设置滤镜

- (BOOL)setBeautyFilter:(RCRTCBeautyFilter)filter;
参数类型必填说明
filterRCRTCBeautyFilter滤镜类型,支持设置唯美、清新和浪漫三种基础滤镜。

重置参数

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

[[RCRTCBeautyEngine sharedInstance] reset];

相芯美颜插件

注意

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

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

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

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

集成相芯美颜插件

通过 CocoaPods 集成,请在 Podfile 文件中添加下面内容:

pod 'RongFUFaceBeautifier', '~> x.y.z'

注意

x.y.z 代表当前 RTCLib 的具体版本号(插件版本号需要与 RTCLib 版本号一致)。您可以在融云下载页或 CocoaPods 仓库进行查询。如果集成了 CallKit,则必须保持 CallKit、CallLib、RongFUFaceBeautifier 插件版本号前三位一致。

导入头文件

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

#import <RongFUFaceBeautifier/RongFUFaceBeautifier.h>

初始化

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

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

美颜开关

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

[[RCRTCFUBeautyEngine sharedInstance] setBeautyEnable:YES];

滤镜设置

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

[[RCRTCFUBeautyEngine sharedInstance] setFilterWithName:name level:level];

美型设置

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

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

美肤设置

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

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

重置所有美颜效果

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

[[RCRTCFUBeautyEngine sharedInstance] reset];