Public 成员函数 | |
String | toString () |
静态 Public 成员函数 | |
static MediaConfig | generateByMode (@Mode int mode) |
静态 Public 属性 | |
static final int | AEC_MODE_AEC = MtcCallDb.EN_MTC_EC_AEC |
static final int | AEC_MODE_OS = MtcCallDb.EN_MTC_EC_OS |
static final int | AEC_MODE_AES = MtcCallDb.EN_MTC_EC_AES |
static final int | AEC_MODE_FDE = MtcCallDb.EN_MTC_EC_AEC_FDE |
static final int | AEC_MODE_SDE = MtcCallDb.EN_MTC_EC_AEC_SDE |
static final int | MODE_INTELLIGENT_HARDWARE_SMALL = 2 |
static final int | MODE_INTELLIGENT_HARDWARE = MODE_INTELLIGENT_HARDWARE_SMALL + 1 |
static final int | MODE_RTOS = MODE_INTELLIGENT_HARDWARE + 1 |
static final int | MODE_RTOS_SMALL = MODE_RTOS + 1 |
Protected 属性 | |
int | mode = MODE_INTELLIGENT_HARDWARE_SMALL |
详细描述
一对一通话媒体参数配置类,作为 updateMediaConfig 方法的入参使用
成员函数说明
◆ toString()
|
inline |
打印一对一通话媒体参数配置字符串
- 返回
- 一对一通话媒体参数配置字符串
◆ generateByMode()
|
inlinestatic |
根据模式生成配置参数
可通过此方法生成 MediaConfig 对象,需要在调用 call 方法发起呼叫前,通过 updateMediaConfig 方法设置媒体参数
- 参数
-
mode 参数模式,参见: - MODE_INTELLIGENT_HARDWARE_SMALL : 本端为小屏设备(手表),与非RTOS系统智能硬件互通,与APP、web、小程序等应用终端互通
- MODE_INTELLIGENT_HARDWARE : 与非RTOS系统智能硬件互通,与APP、web、小程序等应用终端互通
- MODE_RTOS : 与RTOS系统智能硬件互通
- MODE_RTOS_SMALL : 本端为小屏设备(手表),与RTOS系统智能硬件互通
- 返回
- MediaConfig 对象,媒体配置参数
类成员变量说明
◆ AEC_MODE_AEC
|
static |
声学回声消除。支持在免提状态下的通话,对于iOS和Windows等性能较好的机型有效。
◆ AEC_MODE_OS
|
static |
使用操作系统提供的声学回声消除功能,支持在免提状态下的通话。对于多数iOS和Android等品牌手机有效,但部分机型可能无效。
◆ AEC_MODE_AES
|
static |
声学回声抑制,通过半双工方式实现回声抑制,通常不建议使用。
◆ AEC_MODE_FDE
|
static |
软件自适应声学回声消除,对于大多数所有机型有效。但计算量比AEC稍大一些。SDE追踪延迟精度高,FDE能适应更大的延迟。
◆ AEC_MODE_SDE
|
static |
软件自适应声学回声消除,对于大多数所有机型有效。但计算量比AEC稍大一些。SDE追踪延迟精度高,FDE能适应更大的延迟。
◆ MODE_INTELLIGENT_HARDWARE_SMALL
|
static |
本端为小屏设备(手表),与非RTOS系统智能硬件互通,与APP、web、小程序等应用终端互通
◆ MODE_INTELLIGENT_HARDWARE
|
static |
与非RTOS系统智能硬件互通,与APP、web、小程序等应用终端互通
◆ MODE_RTOS
|
static |
与RTOS系统智能硬件互通
◆ MODE_RTOS_SMALL
|
static |
本端为小屏设备(手表),与RTOS系统智能硬件互通
◆ audioEnableCodecs
String com.juphoon.cloud.MediaConfig.audioEnableCodecs = "opus;AMR;G729" |
音频编解码
协商优先级按顺序排列,每个编解码用";"间隔,注意大小写,默认值为 "opus;AMR;G729"
◆ audioAecEnable
boolean com.juphoon.cloud.MediaConfig.audioAecEnable = true |
是否开启回声消除,默认开启
- true: 开启
- false: 关闭
◆ audioAecMode
int com.juphoon.cloud.MediaConfig.audioAecMode = AEC_MODE_SDE |
回声消除模式,默认为 AEC_MODE_SDE ,参见:
- AEC_MODE_AEC : 声学回声消除
- AEC_MODE_OS : 使用操作系统提供的声学回声消除功能
- AEC_MODE_AES : 声学回声抑制
- AEC_MODE_FDE : 软件自适应声学回声消除,能适应更大延时
- AEC_MODE_SDE : 软件自适应声学回声消除,追踪延迟精度高
◆ audioArsEnable
boolean com.juphoon.cloud.MediaConfig.audioArsEnable = true |
是否开启音频,默认开启
- true: 开启
- false: 关闭
◆ audioArsBitrateMin
int com.juphoon.cloud.MediaConfig.audioArsBitrateMin = 20 |
音频最小码率 kb,默认值为 20
◆ audioArsBitrateMax
int com.juphoon.cloud.MediaConfig.audioArsBitrateMax = 75 |
音频最大码率 kb,默认值为 75
◆ audioRed
boolean com.juphoon.cloud.MediaConfig.audioRed = true |
是否打开语音red抗丢包,默认开启
网络不稳定,一般选择打开
- true: 打开,能够增加payload码率
- false: 关闭,能力节省码率从而降低功耗
◆ audioRxAnr
boolean com.juphoon.cloud.MediaConfig.audioRxAnr = false |
是否开启噪声抑制,默认关闭
一般接收端声音质量好可关闭噪声抑制,减少声音dsp处理,降低功耗
- true: 开启
- false: 关闭
◆ audioRtx
boolean com.juphoon.cloud.MediaConfig.audioRtx = false |
是否开启rtx重传,默认关闭
同FEC、NACK一起用,能够降低功耗。网络不稳定,一般选择打开
- true: 打开
- false: 关闭
◆ audioRxAgc
boolean com.juphoon.cloud.MediaConfig.audioRxAgc = false |
是否打开接收端声音自动增益控制,默认关闭
接收端声音过大过小时,可尝试打开
- true: 打开
- false: 关闭
◆ audioQosAec
boolean com.juphoon.cloud.MediaConfig.audioQosAec = true |
是否开启回声消除,默认开启
- true: 开启
- false: 关闭
◆ audioQosAnr
boolean com.juphoon.cloud.MediaConfig.audioQosAnr = true |
是否开启发送端噪声抑制,默认开启
接收端声音噪声大,提高抑制等级。接收端声音小,可在不影响声音质量情况下降低抑制等级或者关闭抑制
- true: 开启
- false: 关闭
◆ audioQosAgc
boolean com.juphoon.cloud.MediaConfig.audioQosAgc = true |
是否开启发送端声音自动增益控制,默认开启
- true: 开启
- false: 关闭
◆ audioQosVad
boolean com.juphoon.cloud.MediaConfig.audioQosVad = false |
是否开启静音检测,默认关闭
- true: 开启
- false: 关闭
◆ audioPacketTime
int com.juphoon.cloud.MediaConfig.audioPacketTime = 20 |
音频打包时长,默认值为 20
◆ audioQosAgcGain
int com.juphoon.cloud.MediaConfig.audioQosAgcGain = 9 |
发送端声音自动增益控制强度,默认值为9
取值范围为[0,90],数值越大,增益强度越大。当 audioQosAgc 为 true 时有效
◆ videoEnableCodecs
String com.juphoon.cloud.MediaConfig.videoEnableCodecs = "H264-SVC;H264;VP8;AV1" |
视频编解码,协商优先级按顺序排列,默认值为 "H264-SVC;H264;VP8"
◆ videoResolutionRecvWidth
int com.juphoon.cloud.MediaConfig.videoResolutionRecvWidth = 640 |
视频接收宽,默认值值为 640
◆ videoResolutionRecvHeight
int com.juphoon.cloud.MediaConfig.videoResolutionRecvHeight = 360 |
视频接收高,默认值为 360
◆ videoResolutionSendWidth
int com.juphoon.cloud.MediaConfig.videoResolutionSendWidth = 640 |
视频发送宽,默认值为 640
◆ videoResolutionSendHeight
int com.juphoon.cloud.MediaConfig.videoResolutionSendHeight = 360 |
视频发送高,默认值为 360
◆ videoBitrate
int com.juphoon.cloud.MediaConfig.videoBitrate = 800 |
视频初始码率 kb,默认值为 800
◆ videoSendFramerate
int com.juphoon.cloud.MediaConfig.videoSendFramerate = 24 |
发送帧率,默认值为 24
◆ videoArsEnable
boolean com.juphoon.cloud.MediaConfig.videoArsEnable = true |
是否开启视频 ars,默认开启
- true: 开启
- false: 关闭
◆ videoArsBitrateMin
int com.juphoon.cloud.MediaConfig.videoArsBitrateMin = 50 |
视频最小码率 kb,默认值为 50
◆ videoArsBitrateMax
int com.juphoon.cloud.MediaConfig.videoArsBitrateMax = 1500 |
视频最大码率 kb,默认值为 1500
◆ videoArsFramerateMin
int com.juphoon.cloud.MediaConfig.videoArsFramerateMin = 1 |
视频最小帧率 kb,默认值为 1
◆ videoArsFramerateMax
int com.juphoon.cloud.MediaConfig.videoArsFramerateMax = 30 |
视频最大帧率 kb,默认值为 30
◆ videoRedFec
boolean com.juphoon.cloud.MediaConfig.videoRedFec = true |
是否开启rfc 2198 语音fec-red,默认开启
开启后可以增强抗丢包能力,会增加一倍的payload码率,不会增加包头。 比如Opus 55kbps增加一倍码率后,最终码率达到90kbps=55+35;Opus 10kbps增加一倍码率后,最终码率达到16kbps=10+6
- true: 开启
- false: 关闭
◆ videoRecvFullScreen
boolean com.juphoon.cloud.MediaConfig.videoRecvFullScreen = true |
本端视频分辨率是否影响请求分辨率,默认影响
这里举个例子,有假设条件:
- 本端默认请求是640*360的分辨率
- 本端屏幕分辨率为360*360
- 若此参数设置成 true:请求分辨率 360*360
- 若此参数设置成 false: 请求分辨率 640*360
- true: 影响
- false: 不影响
◆ videoSmallNalu
boolean com.juphoon.cloud.MediaConfig.videoSmallNalu = true |
是否开启视频数据以SmallNalu方式打包,默认开启
开启后,一个包打包的数据多,减少包头的码率,从而降低功耗
- true: 开启
- false: 关闭
◆ videoResolutionControl
boolean com.juphoon.cloud.MediaConfig.videoResolutionControl = true |
是否开启分辨率控制,默认开启
- true: 开启,分辨率随网络波动而变化
- false: 关闭,固定分辨率
◆ videoKeyPeriod
int com.juphoon.cloud.MediaConfig.videoKeyPeriod = 0 |
视频关键帧间隔(毫秒),MODE_RTOS_SMALL 或 MODE_RTOS 模式下默认值为 1000
仅在 MODE_RTOS_SMALL 或 MODE_RTOS 模式下生效,其他模式下设置无效
◆ mode
|
protected |
配置模式
◆ heartbeatTime
int com.juphoon.cloud.MediaConfig.heartbeatTime = 30 |
心跳间隔,默认心跳间隔为30秒
取值范围为(0,3600)。比如本端设置了心跳间隔为 X 秒,那么对端在 3*X 秒内都没有收到本端的心跳时,对端将收到 onCallItemRemove 通话结束的回调
◆ audioAgcTarget
int com.juphoon.cloud.MediaConfig.audioAgcTarget = 3 |
发送端声音自动增益控制目标,单位dBOV,默认值为3
取值范围为[0,20],0代表声音越大。当 audioQosAgc 为 true 时有效
该类的文档由以下文件生成:
- cloud/src/main/iot/com/juphoon/cloud/MediaConfig.java