美声特效
融云 RTCLib SDK 以插件库的形式(RongVoiceBeautifier
)提供了多种美声特效选项。本插件会对麦克风采集的数据和耳返数据进行处理,本地与远端用户均会听到处理后的效果。
CallKit、CallLib、RTCLib 从 5.1.6 版本开始,支持美声插件。
集成美声插件
在导入 SDK 前,您可以前往 融云官网 SDK 下载页面 确认当前最新版本号。
通过 CocoaPods 管理依赖 (推荐)
-
如果您的项目中没有
Podfile
文件,您需要打开终端并进入到项目的根目录,在终端中运行pod init
命令,之后系统会自动创建一个默认的Podfile
文件,在项目中的Podfile
文件中添加如下内容:rubypod 'RongCloudRTC/RongVoiceBeautifier', '~> x.y.z'
提示- 美声插件会自动依赖下载对应版本的 RTCLib 库,一般不需要手动指定。
x.y.z
代表 RTCLib 具体的版本号,您可以在融云官网 SDK 下载页面或在终端中通过先执行pod repo update
,再执行pod search RongCloudRTC
命令在 CocoaPods 仓库查询 RTCLib 最新的版本。
-
打开终端并进入到
Podfile
文件所在的目录,在终端中运行以下命令:shellpod install
提示如果终端中出现类似
CocoaPods could not find compatible versions for
等找不到相关版本的报错,可先在终端中执行pod repo update
命令,再执行pod install
命令。 -
通过 Xcode 打开项目目录下的
xcworkspace
文件加载工程。
手动集成
-
前往 融云官网 SDK 下载页面,下载美声特效库:
-
导入以下内容:
RongVoiceBeautifier.bundle
RongVoiceBeautifier.framework
。
-
修改您的项目配置。在
General
→Frameworks, Libraries, and Embedded Binaries
中,将手动导入的美声特效 SDK 所有的 Framework 全部改为Embed & Sign
。 -
请将工程中 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
)。Objective C// 设置美声特效
[[RCRTCVoiceBeautifierEngine sharedInstance] setPreset:RCVoiceBeautifierTypeEffectBoy]; -
使用
RCRTCVoiceBeautifierEngine
单例的enable
方法设置声音特效是否启用。通过返回值可判断是否成功启用,返回0
表示 成功,返回-1
表示失败。Objective C// 设置美声特效是否开启
BOOL success = [[RCRTCVoiceBeautifierEngine sharedInstance] enable:YES]; -
检查美声特效是否已启用。
Objective CBOOL enabled = [[RCRTCVoiceBeautifierEngine sharedInstance] isEnable];
取消美声特效
设置美声特效后,会在当前客户端持续生效。如有需要,可在切换房间时修改、重置美声效果,或直接关闭美声特效功能。
因为 RCRTCVoiceBeautifierEngine
类是单例对象,所以会保留开发者设置的声音特效参数。
// 退出房间时重置美声特效为使用原声
[[RCRTCVoiceBeautifierEngine sharedInstance] setPreset:RCVoiceBeautifierTypeNone];
预置美声特效
RCVoiceBeautifierType 定义了预设的音效效果,提供美声、变声、混响三类效果。
声音类型 | 特效类别 | 说明 |
---|---|---|
RCVoiceBeautifierTypeNone | 原声 | 关闭美声 |
RCVoiceBeautifierTypeAcousticsFull | 美声 | 饱满 |
RCVoiceBeautifierTypeAcousticsLow |