2024/10/23 15:19:57
设置优质音频体验
1v1 私密房中,优质的音频体验至关重要。声网基于自主研发的音频算法,推出了 Audio Scenario API,只需几行代码即可让你在该场景中实现最佳的音频体验,包括如下效果:
- 美声:加入 AI 调音师功能,根据讲话者的声音特点,自动美化声音。
- 防打扰,更降噪:使用凤鸣 AI 引擎,屏蔽环境噪音,显著提升双讲效果。
- 更流畅:优化音频传输配置,保证主播和观众之间的流畅交流。
示例项目
声网在 Github 上提供开源 AudioScenarioAPI
示例项目供你参考。
准备开发环境
前提条件
在设置优质音频体验之前,请确保你已在 App 中实现 1v1 私密房场景,可参考集成 CallAPI 和实现 1v1 私密房。
集成 RTC 和 Audio Scenario API
按照如下步骤进行集成:
-
在项目的
build.gradle
文件内,集成声网 RTC SDK,版本设置为 4.1.1.29。Groovy...
dependencies {
implementation "io.agora.rtc:agora-special-full:4.1.1.29"
} -
将 lib_audioscenarioapi 文件夹复制到项目的根目录中,集成声网 Audio Scenario API。
-
在 Android Studio 顶部工具栏中,点击 Sync Project With Gradle File,将 RTC SDK 集成到项目中。
实现优质音频体验
本节介绍如何使用声网 Audio Scenario API 实现优质音频体验。声网 RTC SDK 承担实时音视频业务,搭配 Audio Scenario API,可帮助你快速提升通话音频体验。
1. 初始化实例并加载插件
-
调用声网 RTC SDK 中的
create
创建并初始化RtcEngine
对象,然后加载回声消除和降噪音频算法插件。Kotlin// 配置 RtcEngine 的 config 参数
val config = RtcEngineConfig()
config.mContext = MyApplication.app()
config.mAppId = BuildConfig.AGORA_APP_ID
config.mEventHandler = object : IRtcEngineEventHandler() {}
// 加载回声消除和降噪插件
config.addExtension("agora_ai_echo_cancellation_extension")
config.addExtension("agora_ai_noise_suppression_extension")
// 初始化 RtcEngine
val mRtcEngine = RtcEngine.create(config) -
在初始化
RtcEngine
后,创建AudioScenarioApi
实例。Kotlinval audioScenarioApi = AudioScenarioApi(mRtcEngine)
2. 配置音频优化体验
加入频道前,调用 setAudioScenario
,根据 1v1 通话的身份来配置音频优化体验。在加入频道前配置一次即可,音频配置不随加入/退出频道而发生改变。
Kotlin
// 1v1 场景,身份为主叫(发起呼叫方)
audioScenarioApi.setAudioScenario(SceneType.Chat, AudioScenarioType.Chat_Caller)
// 1v1 场景,身份为被叫(接受呼叫方)
audioScenarioApi.setAudioScenario(SceneType.Chat, AudioScenarioType.Chat_Callee)