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