本文为您介绍extras参数配置的说明、使用场景和实现方式。
功能说明
extras字符配置的功能列表如下表所示。
参数 | 功能描述 | 取值 | 适用平台 |
user_specified_aec | 音频3A:回声消除。 | TRUE:开启,FALSE:关闭 | Android、iOS、Mac、Windows |
user_specified_ans | 音频3A:自动降噪。 | TRUE:开启,FALSE:关闭 | Android、iOS、Mac、Windows |
user_specified_agc | 音频3A:自动增益。 | TRUE:开启,FALSE:关闭 | Android、iOS、Mac、Windows |
user_specified_engine_mode | 音质模式。 | Android、iOS、Mac、Windows | |
user_specified_scene_mode | 场景模式。 | Android、iOS、Mac、Windows | |
user_specified_video_preprocess | 使用三方美颜处理视频。 | TRUE:开启,FALSE:关闭 | Android、iOS |
user_specified_groupid | 1对1模式。 | 1v1 | Android、iOS、Mac、Windows |
no_wifi_rssi_data | 不采集wifi rssi | TRUE:不采集,FALSE(默认):采集 | Android |
no_phone_state_listen_data | 不监听来电状态 | TRUE:不监听,FALSE(默认):监听 | Android |
no_cpu_number_data | 不采集cpu个数信息 | TRUE:不采集,FALSE(默认):采集 | Android |
音频3A
使用场景
当移动端(Android和iOS)硬件效果不满足要求时,可以将这三个开关均设置为TRUE,表示启用阿里云RTC提供的软件音频处理算法。能达到效果与音乐模式或媒体模式一样。
当PC端或移动端有外接声卡设备,而且声卡设备自带音频信号处理功能时,为保真音质,建议手动将相关功能设置为FALSE。
如果不设置任何3A参数,即表示不激活3A开关的功能,系统会按照当前选择的模式(默认模式,音乐模式等)运行。
实现方式
JsonObject jsonObject = new JsonObject();
jsonObject.put("user_specified_aec","TRUE");
jsonObject.put("user_specified_ans","TRUE");
jsonObject.put("user_specified_agc","TRUE");
AliRtcEngine engine= AliRtcEngine.getInstance(context, jsonObject.toString());
音质模式与场景模式
功能说明
在一些比较专业的场景里,用户对声音的效果需求很高。阿里云RTC提供多种组合方案。
开发者根据对音质、场景等的不同需求,自由定制不同的音频属性,获得最佳实时互动效果。
模式说明
音质模式
音质模式值列举
模式名称
声道数
采样率
编码码率
ENGINE_LOW_QUALITY_MODE
低音质模式
1
8 kHz
12 Kbps
ENGINE_BASIC_QUALITY_MODE
标准音质模式
1
16 kHz
24 Kbps
ENGINE_HIGH_QUALITY_MODE
高音质模式
1
48 kHz
48 Kbps
场景模式
场景模式值列举
场景名称
特性
SCENE_DEFAULT_MODE
默认场景
一般的音视频通信场景推荐使用。
SCENE_EDUCATION_MODE
教育场景
优先保证音频连续性与稳定性。
SCENE_MEDIA_MODE
媒体场景
保真人声与音乐音质,连麦直播间推荐使用。
SCENE_MUSIC_MODE
音乐场景
高保真音乐音质,乐器教学等对音乐音质有要求的场景推荐使用。
场景搭配示例
场景 | 音质模式 | 场景模式 | 特性 |
普通语音聊天室 | ENGINE_BASIC_QUALITY_MODE | SCENE_DEFAULT_MODE | 音质较好,优先保证通话质量,传输流畅。适用于对音质没有极致追求的场景。 |
语音教学小班课 | ENGINE_HIGH_QUALITY_MODE | SCENE_DEFAULT_MODE | 音质高清,优先保证通话质量,传输流畅。适用于对语音音质有极致追求的场景。 |
乐器教学小班课 | ENGINE_HIGH_QUALITY_MODE | SCENE_MUSIC_MODE | 音质高清,优先音乐质量,传输流畅。适用于对音乐音质有极致追求的场景。 |
直播连麦(语聊) | ENGINE_HIGH_QUALITY_MODE | SCENE_MEDIA_MODE | 传输流畅、音质高清,保证语音质量的同时,兼顾音乐音质。适用于既有语音又有音乐的聊天场景。 |
直播连麦(唱歌) | ENGINE_HIGH_QUALITY_MODE | SCENE_MUSIC_MODE | 传输流畅、音质高清,优先音乐质量,配合提供的各种音效。适用于唱歌乐器弹奏为主的场景。 |
小型穿戴设备(如电话手表) | ENGINE_LOW_QUALITY_MODE | SCENE_DEFAULT_MODE | 传输流畅、音质较好,优先保证语音可听可懂,功耗低。 |
实现方式
JsonObject jsonObject = new JsonObject();
//开启音乐场景下高音质模式
jsonObject.put("user_specified_engine_mode","ENGINE_HIGH_QUALITY_MODE");
jsonObject.put("user_specified_scene_mode","SCENE_MUSIC_MODE");
AliRtcEngine engine= AliRtcEngine.getInstance(context, jsonObject.toString());
使用三方美颜处理视频
功能说明
在接⼊前,我们需要在SDK的实例extra字段中添加开关:user_specified_video_preprocess:TRUE。
通常客户集成以后反馈⾃⼰能看到美颜,对⽅看不到,就是因为这个没有设置。
实现方式
JsonObject jsonObject = new JsonObject();
jsonObject.put("user_specified_video_preprocess","TRUE");
AliRtcEngine engine= AliRtcEngine.getInstance(context, jsonObject.toString());
1对1模式
1对1模式自动推流,只推相机大流,不推次要相机流。
场景描述
随着近些年音视频的应用越来越广泛,衍生了多样的在线教育、实时通信等场景。在教育场景下1对1指导更是广泛使用。下面是一些典型的1对1场景。 例如:1对1线上课外辅导、1对1线上语言教学、1对1线上音乐陪练和1对1线上面试等。
实现方式
JsonObject jsonObject = new JsonObject();
jsonObject.put("user_specified_groupid","1v1");
AliRtcEngine engine= AliRtcEngine.getInstance(context, jsonObject.toString());
Android端信息采集
场景描述
为了更好的提升音视频通信体验,音视频通信SDK默认采集了wifi rssi信息、监听了来电状态、采集了cpu数量信息,开发者在满足合规要求的时候,可以通过下列方式关闭对此信息的采集。
no_wifi_rssi_data
获取wifi的网络强弱信号时,调用了android.net.wifi.WifiInfo.getRssi方法。
no_phone_state_listen_data
监听来电状态时,调用了android.telephony.TelephonyManager.listen方法。
no_cpu_number_data
获取CPU数量时,调用了 java.lang.Runtime.getRuntime方法。
此外Android端为方便及时进行最优的网络路由的调度以及做好设备兼容,采集了设备型号,IP地址,运营商,网络类型,Wifi SSID,此类采集项为必选。