减小 App 体积
App 体积是影响用户体验的重要因素之一,更小的包体积意味着用户可以消耗更少的带宽和时间下载 App。 在以下场景中,减小 App 体积对提升用户体验具有重要意义:
- App 的应用场景对 App 体积有严格要求。例如运行在储存空间有限的智能穿戴设备上。
- App 的目标用户群体位于欠发达地区,网络环境较差,导致 App 下载时间过长。
本文介绍如何减少集成声网实时互动 SDK 的 App 体积。
使用音频 SDK
视频 SDK 支持音频和视频功能,包体积大。如果你只需使用音频功能,建议你集成音频 SDK,详见实现纯语音互动。
目前,实时互动 SDK 在 Windows 和 macOS 平台仅提供视频 SDK 下载。
删除不需要的插件
SDK 提供了可选的插件动态库,插件的命名以 extension
为后缀,插件功能和大小等信息详见插件列表。你可以参考如下方式不集成这些插件,以减小 App 体积。
手动集成时删除插件
通过官网 SDK 下载链接集成时,你可以将不需要使用的插件文件直接删除。
参考信息
插件列表
本节提供实时互动 SDK 各插件简介和集成后 App 增加的体积参考。
本节数据基于实时互动 v4.4.0 SDK。
实时互动 SDK 支持新版 AI 降噪功能,新版 AI 降噪具有更好的人声保真度、更干净的噪声抑制,并新增了去混响 (Dereverberation) 能力。集成 AI 降噪插件后,你可以调用 setAINSMode
方法设置是否开启 AI 降噪功能并设置降噪模式
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_ai_noise_suppression_extension.so | 196 |
Android | armeabi-v7a | libagora_ai_noise_suppression_extension.so | 113 |
Android | x86_64 | libagora_ai_noise_suppression_extension.so | 58 |
Android | x86 | libagora_ai_noise_suppression_extension.so | 57 |
iOS | arm64 | AgoraAiNoiseSuppressionExtension.xcframework | 165 |
iOS | armv7 | AgoraAiNoiseSuppressionExtension.xcframework | 10 |
macOS | arm64 | AgoraAiNoiseSuppressionExtension.xcframework | 336 |
macOS | x86_64 | AgoraAiNoiseSuppressionExtension.xcframework | 272 |
Windows | x86 | libagora_ai_noise_suppression_extension.dll | 372 |
Windows | x86_64 | libagora_ai_noise_suppression_extension.dll | 459 |
自 v4.4.0 起,SDK 提供低延迟版 AI 降噪插件,能够在保持一定降噪效果的前提下降低处理的延迟。如需使用该功能,请联系技术支持。
低延迟版与普通版 AI 降噪插件相互独立,你可以根据实际场景需求选择集成合适的版本。调用 setAINSMode
方法启用 AI 降噪时默认使用普通版插件,如需切换为低延迟版,请联系技术支持。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_ai_noise_suppression_ll_extension.so | 188 |
Android | armeabi-v7a | libagora_ai_noise_suppression_ll_extension.so | 111 |
Android | x86_64 | libagora_ai_noise_suppression_ll_extension.so | 58 |
Android | x86 | libagora_ai_noise_suppression_ll_extension.so | 57 |
iOS | arm64 | AgoraAiNoiseSuppressionLLExtension.xcframework | 156 |
iOS | armv7 | AgoraAiNoiseSuppressionLLExtension.xcframework | 44 |
macOS | arm64 | AgoraAiNoiseSuppressionLLExtension.xcframework | 320 |
macOS | x86_64 | AgoraAiNoiseSuppressionLLExtension.xcframework | 272 |
Windows | x86 | libagora_ai_noise_suppression_ll_extension.dll | 374 |
Windows | x86_64 | libagora_ai_noise_suppression_ll_extension.dll | 462 |
自 v4.1.0 起,SDK 提供 AI 回声消除插件,该插件可以在较恶劣的回信比 (echo-to-signal) 条件下保存完整、清晰、流畅的近端人声,显著提高系统的回声消除和双讲性能,带给用户更舒适的通话和直播体验,广泛应用于适用于会议、语聊、K 歌等场景。如需使用该功能,请联系技术支持。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_ai_echo_cancellation_extension.so | 322 |
Android | armeabi-v7a | libagora_ai_echo_cancellation_extension.so | 169 |
Android | x86 | libagora_ai_echo_cancellation_extension.so | 58 |
Android | x86_64 | libagora_ai_echo_cancellation_extension.so | 56 |
iOS | arm64 | AgoraAiEchoCancellationExtension.xcframework | 287 |
iOS | armv7 | AgoraAiEchoCancellationExtension.xcframework | 10 |
macOS | arm64 | AgoraAiEchoCancellationExtension.xcframework | 576 |
macOS | x86_64 | AgoraAiEchoCancellationExtension.xcframework | 496 |
Windows | x86 | libagora_ai_echo_cancellation_extension.dll | 562 |
Windows | x86_64 | libagora_ai_echo_cancellation_extension.dll | 738 |
自 v4.4.0 起,SDK 提供低延迟版 AI 回声消除插件,能够在保持一定回声消除效果的前提下降低处理的延迟。如需使用该功能,请联系技术支持。
低延迟版与普通版 AI 回声消除插件相互独立,你可以根据实际场景需求选择集成合适的版本。启用 AI 回声消除时默认使用普通版插件,如需切换为低延迟版,请联系技术支持。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_ai_echo_cancellation_ll_extension.so | 322 |
Android | armeabi-v7a | libagora_ai_echo_cancellation_ll_extension.so | 169 |
Android | x86 | libagora_ai_echo_cancellation_ll_extension.so | 58 |
Android | x86_64 | libagora_ai_echo_cancellation_ll_extension.so | 56 |
iOS | arm64 | AgoraAiEchoCancellationLLExtension.xcframework | 287 |
iOS | armv7 | AgoraAiEchoCancellationLLExtension.xcframework | 10 |
macOS | arm64 | AgoraAiEchoCancellationLLExtension.xcframework | 576 |
macOS | x86_64 | AgoraAiEchoCancellationLLExtension.xcframework | 480 |
Windows | x86 | libagora_ai_echo_cancellation_ll_extension.dll | 560 |
Windows | x86_64 | libagora_ai_echo_cancellation_ll_extension.dll | 734 |
美声插件提供一系列预设的人声效果,也支持通过音调、声音均衡和混响等设置自定义人声效果,广泛应用于语音连麦、PK 直播、K 歌房、音乐电台等场景中。你可以在集成美声插件后,调用如下方法开启你想要的美声效果:
setVoiceBeautifierPreset
: 语聊美声、歌唱美声、音色变换。setAudioEffectPreset
: 变声音效、曲风音效、空间塑造、电音音效。setVoiceConversionPreset
: 基础变声。setLocalVoicePitch
,setLocalVoiceEqualization
,setLocalVoiceReverb
: 自行调整音调、均衡和混响效果,获取想要的人声效果。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_audio_beauty_extension.so | 839 |
Android | armeabi-v7a | libagora_audio_beauty_extension.so | 749 |
Android | x86 | libagora_audio_beauty_extension.so | 753 |
Android | x86_64 | libagora_audio_beauty_extension.so | 754 |
iOS | arm64 | AgoraAudioBeautyExtension.xcframework | 650 |
iOS | armv7 | AgoraAudioBeautyExtension.xcframework | 650 |
macOS | arm64 | AgoraAudioBeautyExtension.xcframework | 1424 |
macOS | x86_64 | AgoraAudioBeautyExtension.xcframework | 1440 |
Windows | x86 | libagora_audio_beauty_extension.dll | 1756 |
Windows | x86_64 | libagora_audio_beauty_extension.dll | 1893 |
视频增强插件提供基础美颜、视频降噪、暗光增强、色彩增强等能力。你可以在集成视频增强插件后,调用如下方法开启你想要的视频增强功能:
setBeautyEffectOptions
: 设置基础美颜功能。setVideoDenoiserOptions
: 设置视频降噪功能。setLowlightEnhanceOptions
: 设置暗光增强功能。setColorEnhanceOptions
: 设置色彩增强功能。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_clear_vision_extension.so | 2133 |
Android | armeabi-v7a | libagora_clear_vision_extension.so | 1740 |
Android | x86 | libagora_clear_vision_extension.so | 852 |
Android | x86_64 | libagora_clear_vision_extension.so | 868 |
iOS | arm64 | AgoraClearVisionExtension.xcframework | 2070 |
iOS | armv7 | AgoraClearVisionExtension.xcframework | 1903 |
macOS | arm64 | AgoraClearVisionExtension.xcframework | 3200 |
macOS | x86_64 | AgoraClearVisionExtension.xcframework | 3264 |
Windows | x86 | libagora_clear_vision_extension.dll | 3002 |
Windows | x86_64 | libagora_clear_vision_extension.dll | 3327 |
本地截图上传插件提供对本地用户发送的视频进行截图、上传的能力,以满足对视频内容监管的需求。集成本地截图上传插件后,你可以调用 enableContentInspect
开启本地截图上传。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_content_inspect_extensio.so | 1078 |
Android | armeabi-v7a | libagora_content_inspect_extensio.so | 971 |
Android | x86 | libagora_content_inspect_extensio.so | 57 |
Android | x86_64 | libagora_content_inspect_extensio.so | 56 |
iOS | arm64 | AgoraContentInspectExtension.xcframework | 988 |
iOS | armv7 | AgoraContentInspectExtension.xcframework | 932 |
macOS | arm64 | AgoraContentInspectExtension.xcframework | 1296 |
macOS | x86_64 | AgoraContentInspectExtension.xcframework | 1264 |
Windows | x86 | libagora_content_inspect_extension.dll | 1386 |
Windows | x86_64 | libagora_content_inspect_extension.dll | 1542 |
自 v4.1.0 起,SDK 默认静态编译 PVC 库,不再提供插件的方式。如果你已集成 PVC 插件,需要在升级后从项目依赖中删除 PVC 插件并重新编译项目。
PVC(Perceptual Video Coding,视频感知编码),是一种在保障同等画质的前提下降低带宽消耗的视频编码方式。例如,在带宽受限场景下提升视频流畅性,在移动网络场景下降低流量消耗。如需使用该功能,请联系技术支持。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_pvc_extension.so | 170 |
Android | armeabi-v7a | libagora_pvc_extension.so | 120 |
iOS | arm64 | AgoraPvcExtension.xcframework | 60 |
iOS | armv7 | AgoraPvcExtension.xcframework | 60 |
macOS | arm64 | AgoraPvcExtension.xcframework | 643 |
macOS | x86_64 | AgoraPvcExtension.xcframework | 530 |
Windows | x86 | libagora_pvc_extension.dll | 814 |
Windows | x86_64 | libagora_pvc_extension.dll | 974 |
空间音频插件可以塑造远端用户声音的方位感和模拟声音在真实世界中的传播过程,实现本地用户听远端用户时的空间音频。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_spatial_audio_extension.so | 3120 |
Android | armeabi-v7a | libagora_spatial_audio_extension.so | 3037 |
Android | x86 | libagora_spatial_audio_extension.so | 3032 |
Android | x86_64 | libagora_spatial_audio_extension.so | 3028 |
iOS | arm64 | AgoraSpatialAudioExtension.xcframework | 2956 |
iOS | armv7 | AgoraSpatialAudioExtension.xcframework | 2957 |
macOS | arm64 | AgoraSpatialAudioExtension.xcframework | 4960 |
macOS | x86_64 | AgoraSpatialAudioExtension.xcframework | 4960 |
Windows | x86 | libagora_spatial_audio_extension.dll | 4279 |
Windows | x86_64 | libagora_spatial_audio_extension.dll | 4389 |
集成虚拟背景插件后,你可以调用 enableVirtualBackground
开启虚拟背景,使用自定义的背景图或绿幕替代本地用户原来的背景图,或者将背景虚化处理。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_segmentation_extension.so | 1729 |
Android | armeabi-v7a | libagora_segmentation_extension.so | 1454 |
iOS | arm64 | AgoraVideoSegmentationExtension.xcframework | 1720 |
iOS | armv7 | AgoraVideoSegmentationExtension.xcframework | 1616 |
macOS | arm64 | AgoraVideoSegmentationExtension.xcframework | 2560 |
macOS | x86_64 | AgoraVideoSegmentationExtension.xcframework | 2768 |
Windows | x86 | libagora_segmentation_extension.dll | 2159 |
Windows | x86_64 | libagora_segmentation_extension.dll | 2488 |
自 v4.1.0 起,SDK 提供版权音乐插件(DRM, Data Rights Management),实现实时互动场景中播放版权音乐相关功能,例如检索音乐资源、获取音乐榜单及榜单详情、预加载及播放音乐资源、下载歌词及海报等。详见 v4.1.0 发版说明。
- 对于 4.3.0 之前的 Android SDK,使用版权音乐插件必须同时集成
libagora_drm_loader_extension.so
和libagora_udrm3_extension.so
。 - 自 v4.3.0 起,SDK 移除了版权音乐动态库,App 使用版权音乐功能时,不再需要引入版权音乐动态库。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a |
| 1413 |
Android | armeabi-v7a |
| 1014 |
Android | x86 |
| 1403 |
Android | x86_64 |
| 1444 |
iOS | arm64 & armv7 | AgoraDrmLoaderExtension.xcframework | 1772 |
自 v4.1.1 起,SDK 提供人脸识别插件,通过算法识别人脸或人像,在编码过程中对 ROI(Region of Interest)区域使用更高的质量编码,达到人脸或人像更清晰的效果。如需使用该功能,请联系技术支持。
人脸识别插件和 enableFaceDetection
方法不存在依赖关系,后者使用的是系统自带功能,调用时无需集成人脸识别插件。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_face_detection_extension.so | 497 |
Android | armeabi-v7a | libagora_face_detection_extension.so | 332 |
Android | x86 | libagora_face_detection_extension.so | 133 |
Android | x86_64 | libagora_face_detection_extension.so | 131 |
iOS | arm64 | AgoraFaceDetectionExtension.xcframework | 411 |
iOS | armv7 | AgoraFaceDetectionExtension.xcframework | 15 |
macOS | arm64 | AgoraFaceDetectionExtension.xcframework | 864 |
macOS | x86_64 | AgoraFaceDetectionExtension.xcframework | 848 |
Windows | x86 | libagora_face_detection_extension.dll | 867 |
Windows | x86_64 | libagora_face_detection_extension.dll | 1060 |
自 v4.3.0 起,SDK 提供面部捕捉插件,用于获取人脸面部表情、头部旋转量、头部平移量等面部相关信息,可用于驱动虚拟人表情变化和头部位移等。
如需使用该功能,详见使用面部捕捉插件。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_face_capture_extension.so | 1377 |
Android | armeabi-v7a | libagora_face_capture_extension.so | 1082 |
iOS | armv7 | AgoraFaceCaptureExtension.xcframework | 1145 |
iOS | arm64 | AgoraFaceCaptureExtension.xcframework | 1306 |
macOS | arm64 | AgoraFaceCaptureExtension.xcframework | 2304 |
macOS | x86_64 | AgoraFaceCaptureExtension.xcframework | 2480 |
Windows | x86 | libagora_face_capture_extension.dll | 2322 |
Windows | x86_64 | libagora_face_capture_extension.dll | 2701 |
自 v4.1.1 起,SDK 默认静态编译超分辨率库,不再提供插件的方式,且 SDK 删除了 enableRemoteSuperResolution
,超分辨率不再需要调用 API 开启。如果你已集成超分辨率插件,需要在升级后从项目依赖中删除超分辨率插件并重新编译项目。
v4.1.1 版本以前,集成超分辨率插件后,你可以调用 enableRemoteSuperResolution
开启超分辨率,以提升远端视频的画面分辨率。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_super_resolution_extension.so | 214 |
Android | armeabi-v7a | libagora_super_resolution_extension.so | 161 |
iOS | arm64 | AgoraSuperResolutionExtension.xcframework | 161 |
iOS | armv7 | AgoraSuperResolutionExtension.xcframework | 165 |
屏幕共享插件提供屏幕共享功能,支持将自己的屏幕内容分享给观众或其他用户观看,以提高沟通效率。用法详见屏幕共享。
在 Android 平台使用屏幕共享插件必须同时集成 libagora_screen_capture_extension.so
和 AgoraScreenShareExtension.aar
。
库名以及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64 | libagora_screen_capture_extension.so | 132 |
Android | armv7 | libagora_screen_capture_extension.so | 93 |
Android | arm64 & armv7 | AgoraScreenShareExtension.aar | 69 |
iOS | arm64 | AgoraReplayKitExtension.xcframework | 67 |
iOS | armv7 | AgoraReplayKitExtension.xcframework | 66 |
macOS | arm64 | AgoraScreenCaptureExtension.xcframework | 736 |
macOS | x86_64 | AgoraScreenCaptureExtension.xcframework | 912 |
Windows | x86 | libagora_screen_capture_extension.dll | 1080 |
Windows | x86_64 | libagora_screen_capture_extension.dll | 1244 |
自 v4.1.0 起,SDK 提供视频质量评估(VQA, Video Quality Assessment)插件,该插件可以模拟真人主观感受对视频质量打分,是一种高效的视频画质评估工具。如需使用该功能,请联系技术支持。
各平台插件名及集成后 App 增加的体积见下表:
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_video_quality_analyzer_extension.so | 575 |
Android | armeabi-v7a | libagora_video_quality_analyzer_extension.so | 458 |
Android | x86 | libagora_video_quality_analyzer_extension.so | 58 |
Android | x86_64 | libagora_video_quality_analyzer_extension.so | 57 |
iOS | arm64 | AgoraVideoQualityAnalyzerExtension.xcframework | 547 |
iOS | armv7 | AgoraVideoQualityAnalyzerExtension.xcframework | 480 |
macOS | arm64 | AgoraVideoQualityAnalyzerExtension.xcframework | 880 |
macOS | x86_64 | AgoraVideoQualityAnalyzerExtension.xcframework | 976 |
Windows | x86 | libagora_video_quality_analyzer_extension.dll | 873 |
Windows | x86_64 | libagora_video_quality_analyzer_extension.dll | 1046 |
自 v4.2.0 起,SDK 提供视频编码插件,相比 SDK 原生编码方案,该插件提供更多编码选择,可以实现更快速、更高压缩率的视频编码。如需使用该功能,请联系技术支持。
使用视频编码插件必须根据目标平台同时集成下表中对应列出的两个库。
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a |
| 945 |
Android | armeabi-v7a |
| 873 |
Android | x86 |
| 1125 |
Android | x86_64 |
| 1126 |
iOS | arm64 |
| 773 |
iOS | armv7 |
| 788 |
macOS | arm64 |
| 1504 |
macOS | x86_64 |
| 2020 |
Windows | x86 |
| 2501 |
Windows | x86_64 |
| 2853 |
自 v4.2.0 起,SDK 提供视频解码插件,相比 SDK 原生编码方案,该插件提供更多解码选择,可以实现更快速、更高压缩率的视频解码。如需使用该功能,请联系技术支持。
使用视频解码插件必须根据目标平台同时集成下表中对应列出的两个库。
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a |
| 817 |
Android | armeabi-v7a |
| 763 |
Android | x86 |
| 952 |
Android | x86_64 |
| 976 |
iOS | arm64 |
| 635 |
iOS | armv7 |
| 662 |
macOS | arm64 |
| 1296 |
macOS | x86_64 |
| 1848 |
Windows | x86 |
| 2115 |
Windows | x86_64 |
| 2421 |
自 v4.3.0 起,SDK 提供 AV1 码流编码插件,支持编码 AV1 编码的视频流。如需使用该功能,请联系技术支持。
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_video_av1_encoder_extension.so | 726 |
Android | armeabi-v7a | libagora_video_av1_encoder_extension.so | 586 |
Android | x86 | libagora_video_av1_encoder_extension.so | 922 |
Android | x86_64 | libagora_video_av1_encoder_extension.so | 929 |
iOS | arm64 | AgoraVideoAv1EncoderExtension.xcframework | 579 |
iOS | armv7 | AgoraVideoAv1EncoderExtension.xcframework | 586 |
macOS | arm64 | AgoraVideoAv1EncoderExtension.xcframework | 944 |
macOS | x86_64 | AgoraVideoAv1EncoderExtension.xcframework | 1616 |
Windows | x86 | libagora_video_av1_encoder_extension.dll | 1877 |
Windows | x86_64 | libagora_video_av1_encoder_extension.dll | 2064 |
自 v4.3.0 起,SDK 提供 AV1 码流解码插件,支持解码 AV1 编码的视频流。如需使用该功能,请联系技术支持。
平台 | 架构 | 库名 | 集成后 App 增加的体积 (KB) |
---|---|---|---|
Android | arm64-v8a | libagora_video_av1_decoder_extension.so | 528 |
Android | armeabi-v7a | libagora_video_av1_decoder_extension.so | 492 |
Android | x86 | libagora_video_av1_decoder_extension.so | 606 |
Android | x86_64 | libagora_video_av1_decoder_extension.so | 584 |
iOS | arm64 | AgoraVideoAv1DecoderExtension.xcframework | 376 |
iOS | armv7 | AgoraVideoAv1DecoderExtension.xcframework | 368 |
macOS | arm64 | AgoraVideoAv1DecoderExtension.xcframework | 1040 |
macOS | x86_64 | AgoraVideoAv1DecoderExtension.xcframework | 2016 |
Windows | x86 | libagora_video_av1_decoder_extension.dll | 1449 |
Windows | x86_64 | libagora_video_av1_decoder_extension.dll | 2289 |