美颜插件
官方美颜插件
从 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;
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enabled | BOOL | 是 | 是否开启美颜 |
option | RCRTCBeautyOption | 否 | 支持开发者设置参数 whitenessLevel(美白)、smoothLevel(磨皮)、ruddyLevel(红润)和 brightLevel(亮度),当 enabled 为 NO 时可以传 nil |
设置滤镜
- (BOOL)setBeautyFilter:(RCRTCBeautyFilter)filter;
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
filter | RCRTCBeautyFilter | 是 | 滤镜类型,支持设置唯美、清新和浪漫三种基础滤镜。 |
重置参数
因为 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 版本号一致)。您可以在融云下载页或 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];