近期,声网 Agora Native SDK 3.0.1 已经正式上线。新版本优化了系统架构,不仅系统稳定性显著提升,进一步降低了对 CPU 和内存的消耗,还大幅降低了直播场景中的进出频道时间与首帧出图时间。同时,新版本融入了美声音效、人脸检测、伴奏变调、虚拟立体声等更多新功能,可帮助开发者拓展更多新玩法。
实时音视频体验提升
极速出声,超低延时耳返
在纯语音场景下,如语聊房、语音通话等,Agora Native SDK 3.0.1 在端上的音频延时得到了有效降低,iOS 端音频延时平均降低 80+ ms,Android 端音频延时平均降低 30+ms。这可以有效提升用户在纯语音场景下的交互体验。
在歌唱场景下,新版本还针对 Android 端耳返延时进行了优化,在华为EMUI 10版本以上的手机上,耳返延时可以低至 50ms。
极速出图,无感切屏
Agora Native SDK 3.0.1版本通过底层架构优化,大幅降低进出频道时间和出图时间,进频道时长平均降低 60%、出频道时长平均降低 54%,首帧出图时间平均降低 50%,切换频道时长平均降低 25%,进一步提升了直播场景的流畅体验。
新增功能
1. 人脸检测
3.0.1 版本增加人脸检测功能,通过 enableFaceDetection 方法开启人脸检测后,SDK 会实时触发 onFacePositionChanged 回调,向本地用户报告检测出的一系列结果,包括人脸距设备屏幕的距离。通过这个功能可以实现许多新的场景,比如在线教育场景下,可在检测到学生距离屏幕过近后,发出提醒,保护用户视力;如果检测到学生不在摄像头范围内,则可以提醒老师该学生有可能“逃课”了。目前该功能仅支持 iOS、Android 平台。
2. 美声音效
为提高用户的音频体验,同时为了让用户无需专业声卡、调音师、万元级线下插件,我们在新版本中通过软件算法的方式将美声音效、虚拟立体声、美化音色搬到了线上。
我们在 VOICE_CHANGER_PRESET 枚举中新增了以 VOICE_BEAUTY 为前缀和以 GENERAL_BEAUTY_VOICE 为前缀的枚举值,分别实现美音或语聊美声功能。
除了我们此前分享的实时美声,利用 3.0.1 版 SDK 还可实现实时美音效果,即改变和美化人声的音色。目前支持的美音效果如下图所示。
我们还在 AUDIO_REVERB_PRESET 枚举中新增了以 AUDIO_REVERB_FX 为前缀的枚举值和 AUDIO_VIRTUAL_STEREO 为前缀的枚举值,分别实现实时音效和虚拟立体声效果。
实时音效是指为声音增加某种特定的风格,增强声音的层次感和空间感。目前可实现的音效如下图所示。而虚拟立体声功能则是我们通过音频算法,改变单声道采集的声源的相位、音级、音色,实现立体声效果。
你可以通过在线 Demo 体验优化后的声音效果:
https://www.agora.io/cn/audio-demo
想了解实时美声的原理,可阅读我们往期的分享。接口具体使用方法,可以访问声网文档中心,搜索并查看高阶指南「变声与混响」。
3. 伴奏变调
新增 setAudioMixingPitch 方法。通过设置该方法的 pitch 参数,可以升高或降低音乐文件的音调,而且不会对本地人声产生效果。通过这个新方法,你可以为为互动直播中的主播增加音乐变调功能。
4. 全屏显示
为提高用户观看视频的体验,该版本在视频显示模式中新增 RENDER_MODE_FILL(4) 模式。设置该模式后,视频尺寸会进行缩放和拉伸直至充满显示视图。你可以在调用以下方法设置用户视图时选择该显示模式:
setupLocalVideo
setupRemoteVideo
setLocalRenderMode
setRemoteRenderMode
5. 自渲染远端视图多频道支持(Android/iOS/macOS)
自渲染远端视图支持多频道,开发者可以在多种场景下使用,比如超级小班课。所谓超级小班课,就是将原有的“一个主讲老师,百名学生听课”的直播大班拆分为多个小班(即多频道),每个小班由数名学生组成,小班中的学生既可以看到主讲老师授课,又能进行班内交流,比如进行小组讨论。同时,Agora SDK 的多频道会通过单进程实现,对系统资源的消耗更低。
在 Android 平台,多频道场景下,为方便通过 RtcChannel 类加入频道的用户使用视频自渲染功能,该版本在 RtcChannel 类新增 setRemoteVideoRenderer 方法。
在 iOS/macOS 平台,多频道场景下,为方便通过 AgoraRtcChannel 类加入频道的用户使用视频自渲染功能,该版本在 AgoraRtcChannel 类新增 setRemoteVideoRenderer 和 remoteVideoRenderOfUserId 方法。
6. 远端音视频数据后处理多频道支持
同样是在多频道场景下,为方便后处理各频道的远端音视频数据,该版本新增如下多个 C++ 接口,可以对远端音频数据进行后处理。
希望了解更多详情,请访问声网官网的开发者文档中心。