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)
 

Public 属性

string audioEnableCodecs = "opus;AMR;G729"
 
bool audioAecEnable = true
 
AecMode audioAecMode = AecMode.SDE
 
bool audioArsEnable = true
 
int audioArsBitrateMin = 20
 
int audioArsBitrateMax = 75
 
bool audioRed = true
 
bool audioRxAnr = false
 
bool audioRtx = false
 
bool audioRxAgc = false
 
bool audioQosAec = true
 
bool audioQosAnr = true
 
bool audioQosAgc = true
 
bool audioQosVad = false
 
int audioPacketTime = 20
 
int audioQosAgcGain = 9
 
String videoEnableCodecs = "H264-SVC;H264;VP8"
 
int videoResolutionRecvWidth = 640
 
int videoResolutionRecvHeight = 360
 
int videoResolutionSendWidth = 640
 
int videoResolutionSendHeight = 360
 
int videoBitrate = 800
 
int videoSendFramerate = 24
 
bool videoArsEnable = true
 
int videoArsBitrateMin = 50
 
int videoArsBitrateMax = 1500
 
int videoArsFramerateMin = 1
 
int videoArsFramerateMax = 30
 
bool videoRedFec = true
 
bool videoRecvFullScreen = true
 
bool videoSmallNalu = true
 
bool videoResolutionControl = true
 
int videoKeyPeriod = 0
 
int heartbeatTime = 30
 
Mode mode = Mode.V360P
 

详细描述

一对一通话媒体参数配置类,在调用 call 方法之前设置

成员函数说明

◆ generateByMode()

static MediaConfig JCSDK.JCCall.JCCall.MediaConfig.generateByMode ( Mode  mode)
static

根据模式生成配置参数

可通过此方法生成 MediaConfig 对象,然后在调用 call 方法前,将生成的 MediaConfig 对象赋值给 mediaConfig 属性

参数
mode通话媒体配置模式,参见:
返回
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

回声消除模式,默认为 SDE ,参见:

  • AEC : 声学回声消除
  • OS : 使用操作系统提供的声学回声消除功能
  • AES : 声学回声抑制
  • FDE : 软件自适应声学回声消除,能适应更大延时
  • 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

配置模式, 参见: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

视频关键帧间隔(毫秒), IOT 模式下默认值为 5000

仅在 IOT 模式下生效,其他模式下设置无效

◆ videoRecvFullScreen

bool JCSDK.JCCall.JCCall.MediaConfig.videoRecvFullScreen = true

本端视频分辨率是否影响请求分辨率,默认影响

这里举个例子,有假设条件:

  1. 本端默认请求是640*360的分辨率
  2. 本端屏幕分辨率为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
最后更新时间: 2023/2/24 13:43:42