Public 类型 | |
enum | AecMode { AecMode.AEC = EN_MTC_EC_TYPE.EN_MTC_EC_AEC, AecMode.OS = EN_MTC_EC_TYPE.EN_MTC_EC_OS, AecMode.AES = EN_MTC_EC_TYPE.EN_MTC_EC_AES, AecMode.FDE = EN_MTC_EC_TYPE.EN_MTC_EC_AEC_FDE, AecMode.SDE = EN_MTC_EC_TYPE.EN_MTC_EC_AEC_SDE } |
enum | Mode { Mode.V360P, Mode.V720P, Mode.IntelligentHardware, Mode.IOT, Mode.Sip } |
Public 成员函数 | |
override string | ToString () |
静态 Public 成员函数 | |
static MediaConfig | generateByMode (Mode mode) |
详细描述
一对一通话媒体参数配置类,在调用 call 方法之前设置
成员函数说明
◆ generateByMode()
|
static |
根据模式生成配置参数
可通过此方法生成 MediaConfig 对象,然后在调用 call 方法前,将生成的 MediaConfig 对象赋值给 mediaConfig 属性
- 参数
-
mode 通话媒体配置模式,参见: - 360P : 360P
- 720P : 720P
- IntelligentHardware : 智能硬件场景,比如会和手表通话等
- IOT : 与asr,展讯等小系统互通
- 返回
- JCCallMediaConfig 通话媒体配置对象
◆ ToString()
override string JCSDK.JCCall.JCCall.MediaConfig.ToString | ( | ) |
字符串信息
- 返回
- 返回 JCCall 实例信息
类成员变量说明
◆ audioAecEnable
bool JCSDK.JCCall.JCCall.MediaConfig.audioAecEnable = true |
是否开启回声消除
- true: 开启
- false: 关闭
◆ audioAecMode
AecMode JCSDK.JCCall.JCCall.MediaConfig.audioAecMode = AecMode.SDE |
◆ audioArsBitrateMax
int JCSDK.JCCall.JCCall.MediaConfig.audioArsBitrateMax = 75 |
音频最大码率,默认值为 75 kb
◆ audioArsBitrateMin
int JCSDK.JCCall.JCCall.MediaConfig.audioArsBitrateMin = 20 |
音频最小码率,默认值为 20 kb
◆ audioArsEnable
bool JCSDK.JCCall.JCCall.MediaConfig.audioArsEnable = true |
是否开启音频,默认开启
- true: 开启
- false: 关闭
◆ audioEnableCodecs
string JCSDK.JCCall.JCCall.MediaConfig.audioEnableCodecs = "opus;AMR;G729" |
音频编解码
协商优先级按顺序排列, 每个编解码用";"间隔, 注意大小写, 默认值为 "opus;AMR;G729"
◆ audioPacketTime
int JCSDK.JCCall.JCCall.MediaConfig.audioPacketTime = 20 |
音频打包时长,默认值为 20
◆ audioQosAec
bool JCSDK.JCCall.JCCall.MediaConfig.audioQosAec = true |
是否开启回声消除,默认开启
- true: 开启
- false: 关闭
◆ audioQosAgc
bool JCSDK.JCCall.JCCall.MediaConfig.audioQosAgc = true |
是否开启发送端声音自动增益控制,默认开启
- true: 开启
- false: 关闭
◆ audioQosAgcGain
int JCSDK.JCCall.JCCall.MediaConfig.audioQosAgcGain = 9 |
发送端声音自动增益控制强度,默认值为9
取值范围为[0,90],数值越大,增益强度越大。当 audioQosAgc 为 true 时有效
◆ audioQosAnr
bool JCSDK.JCCall.JCCall.MediaConfig.audioQosAnr = true |
是否开启发送端噪声抑制,默认开启
- 注解
- 接收端声音噪声大,提高抑制等级
- 接收端声音小,可在不影响声音质量情况下降低抑制等级或者关闭抑制
- true: 开启
- false: 关闭
◆ audioQosVad
bool JCSDK.JCCall.JCCall.MediaConfig.audioQosVad = false |
是否开启静音检测,默认关闭
- true: 开启
- false: 关闭
◆ audioRed
bool JCSDK.JCCall.JCCall.MediaConfig.audioRed = true |
是否打开语音red抗丢包,默认开启
- 注解
- 网络不稳定,一般选择打开
- true: 打开,能够增加payload码率
- false: 关闭,能力节省码率从而降低功耗
◆ audioRtx
bool JCSDK.JCCall.JCCall.MediaConfig.audioRtx = false |
是否开启rtx重传,默认关闭
- 注解
- 同FEC、NACK一起用, 能够降低功耗
- 网络不稳定, 一般选择打开
- true: 打开
- false: 关闭
◆ audioRxAgc
bool JCSDK.JCCall.JCCall.MediaConfig.audioRxAgc = false |
是否打开接收端声音自动增益控制,默认关闭
- 注解
- 接收端声音过大过小时, 可尝试打开
- true: 打开
- false: 关闭
◆ audioRxAnr
bool JCSDK.JCCall.JCCall.MediaConfig.audioRxAnr = false |
是否开启噪声抑制,默认关闭
- 注解
- 一般接收端声音质量好可关闭噪声抑制, 减少声音dsp处理, 降低功耗
- true: 开启
- false: 关闭
◆ heartbeatTime
int JCSDK.JCCall.JCCall.MediaConfig.heartbeatTime = 30 |
心跳间隔,默认心跳间隔为30秒
取值范围为(0,3600)。比如本端设置了心跳间隔为 X 秒,那么对端在 3*X 秒内都没有收到本端的心跳时,对端将收到 onCallItemRemove 通话结束的回调
◆ mode
Mode JCSDK.JCCall.JCCall.MediaConfig.mode = Mode.V360P |
◆ videoArsBitrateMax
int JCSDK.JCCall.JCCall.MediaConfig.videoArsBitrateMax = 1500 |
视频最大码率,默认值为 1500 kb
◆ videoArsBitrateMin
int JCSDK.JCCall.JCCall.MediaConfig.videoArsBitrateMin = 50 |
视频最小码率,默认值为 50 kb
◆ videoArsEnable
bool JCSDK.JCCall.JCCall.MediaConfig.videoArsEnable = true |
是否开启视频 ars,默认开启
- true: 开启
- false: 关闭
◆ videoArsFramerateMax
int JCSDK.JCCall.JCCall.MediaConfig.videoArsFramerateMax = 30 |
视频最大帧率,默认值为 30 kb
◆ videoArsFramerateMin
int JCSDK.JCCall.JCCall.MediaConfig.videoArsFramerateMin = 1 |
视频最小帧率,默认值为 1 kb
◆ videoBitrate
int JCSDK.JCCall.JCCall.MediaConfig.videoBitrate = 800 |
视频初始码率,默认值为 800 kb
◆ videoEnableCodecs
String JCSDK.JCCall.JCCall.MediaConfig.videoEnableCodecs = "H264-SVC;H264;VP8" |
视频编解码,协商优先级按顺序排列,默认值为 "H264-SVC;H264;VP8"
◆ videoKeyPeriod
int JCSDK.JCCall.JCCall.MediaConfig.videoKeyPeriod = 0 |
◆ videoRecvFullScreen
bool JCSDK.JCCall.JCCall.MediaConfig.videoRecvFullScreen = true |
本端视频分辨率是否影响请求分辨率,默认影响
这里举个例子,有假设条件:
- 本端默认请求是640*360的分辨率
- 本端屏幕分辨率为360*360
- 若此参数设置成 true:请求分辨率 360*360
- 若此参数设置成 false: 请求分辨率 640*360
- true: 影响
- false: 不影响
◆ videoRedFec
bool JCSDK.JCCall.JCCall.MediaConfig.videoRedFec = true |
是否开启rfc 2198 语音fec-red,默认开启
- 注解
- 开启后可以增强抗丢包能力,会增加一倍的payload码率,不会增加包头。比如Opus 55kbps增加一倍码率后,最终码率达到90kbps=55+35;Opus 10kbps增加一倍码率后,最终码率达到16kbps=10+6
- true: 开启
- false: 关闭
◆ videoResolutionControl
bool JCSDK.JCCall.JCCall.MediaConfig.videoResolutionControl = true |
是否开启分辨率控制,默认开启
- true: 开启, 分辨率随网络波动而变化
- false: 关闭, 固定分辨率
◆ videoResolutionRecvHeight
int JCSDK.JCCall.JCCall.MediaConfig.videoResolutionRecvHeight = 360 |
视频接收高,默认值为 360
◆ videoResolutionRecvWidth
int JCSDK.JCCall.JCCall.MediaConfig.videoResolutionRecvWidth = 640 |
视频接收宽,默认值值为 640
◆ videoResolutionSendHeight
int JCSDK.JCCall.JCCall.MediaConfig.videoResolutionSendHeight = 360 |
视频发送高,默认值为 360
◆ videoResolutionSendWidth
int JCSDK.JCCall.JCCall.MediaConfig.videoResolutionSendWidth = 640 |
视频发送宽,默认值为 640
◆ videoSendFramerate
int JCSDK.JCCall.JCCall.MediaConfig.videoSendFramerate = 24 |
发送帧率,默认值为 24
◆ videoSmallNalu
bool JCSDK.JCCall.JCCall.MediaConfig.videoSmallNalu = true |
是否开启视频数据以 SmallNalu 方式打包,默认开启
开启后一个包打包的数据多,减少包头的码率,从而降低功耗
- true: 开启
- false: 关闭
该类的文档由以下文件生成:
- JCSDK/JCSDK/JCCall/JCCall.cs