美声特效
融云音视频 SDK 以插件库的形式(RongVoiceBeautifier
)提供了多种美声特效选项。本插件会对麦克风采集的数据和耳返数据进行处理,本地与远端用户均会听到处理后的效果。
CallKit、CallLib、RTCLib 从 5.1.6 版本开始,支持美声插件。
集成美声插件
在导入 SDK 前,您可以前往 融云官网 SDK 下载页面 确认当前最新版本号。
通过 CocoaPods 管理依赖 (推荐)
-
请在
Podfile
文件中添加下面内容。pod 'RongCloudRTC/RongVoiceBeautifier', '~> x.y.z'
提示x.y.z 代表当前 RTCLib 的具体版本号。您可以在融云官网 SDK 下载页面或 CocoaPods 仓库进行查询。
手动集成
-
前往 融云官网 SDK 下载页面,下载声音特效库:
-
导入以下内容:
RongVoiceBeautifier.bundle
RongVoiceBeautifier.framework
。
-
请将工程中 Target > Build Settings > Other Linker Flags 在此项中添加 -ObjC。为避免造成编译失败,禁止使用 -all_load 和 -force_load。
-
请务必确保资源包
RongVoiceBeautifier.bundle
正确添加到项目中,否则声音音效不会生效。
使用美声插件
将 RongCloudRTC
升级到 5.1.6 及以后版本,在需要美颜功能的文件中导入声音特效插件头文件:
#import <RongVoiceBeautifier/RCRTCVoiceBeautifierEngine.h>
设置美声特效
确保在设置美声特效之前已经初始化 RCRTCEngine
引擎。
-
使用
RCRTCVoiceBeautifierEngine
单例的setPreset
方法设置声音特效。RCVoiceBeautifierType 定义了预设的音效。例如,设置为男孩音效(RCVoiceBeautifierTypeEffectBoy
)。// 设置声音特效
[[RCRTCVoiceBeautifierEngine sharedInstance] setPreset:RCVoiceBeautifierTypeEffectBoy]; -
使用
RCRTCVoiceBeautifierEngine
单例的enable
方法设置声音特效是否启用。通过返回值可判断是否成功启用,返回0
表示 成功,返回-1
表示失败。// 设置声音特效是否开启
BOOL Success = [[RCRTCVoiceBeautifierEngine sharedInstance] enable:YES]; -
检查美声特效是否已启用。
- (BOOL)isEnable;
取消美声特效
设置美声特效后,会在当前客户端持续生效。如有需要,可在切换房间时修改、重置美声效果,直接关闭美声特效功能。
因为 RCRTCVoiceBeautifierEngine
类是单例对象,所以会保留开发者设置的声音特 效参数。
// 例如,退出房间时重置美声特效为使用原声
[[RCRTCVoiceBeautifierEngine sharedInstance] setPreset:RCVoiceBeautifierTypeNone];