构造函数

(NSString *__nonnull) - toString
 

类方法

(JCCallMediaConfig *__nonnull) + generateByMode:
 

属性

NSString *__nonnull audioEnableCodecs
 
JCCallAecMode audioAecMode
 
bool audioArsEnable
 
int audioArsBitrateMin
 
int audioArsBitrateMax
 
bool audioRed
 
bool audioRxAnr
 
bool audioRtx
 
bool audioRxAgc
 
bool audioQosAec
 
bool audioQosAnr
 
bool audioQosAgc
 
bool audioQosVad
 
int audioPacketTime
 
int audioQosAgcGain
 
NSString *__nonnull videoEnableCodecs
 
int videoResolutionRecvWidth
 
int videoResolutionRecvHeight
 
int videoResolutionSendWidth
 
int videoResolutionSendHeight
 
int videoBitrate
 
int videoSendFramerate
 
bool videoArsEnable
 
int videoArsBitrateMin
 
int videoArsBitrateMax
 
int videoArsFramerateMin
 
int videoArsFramerateMax
 
bool videoRedFec
 
bool videoRecvFullScreen
 
bool videoSmallNalu
 
bool videoResolutionControl
 
int videoKeyPeriod
 
int heartbeatTime
 

详细描述

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

函数文档

◆ generateByMode:

+ (JCCallMediaConfig* __nonnull) generateByMode: (JCCallMediaConfigMode mode

根据模式生成配置参数

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

参数
mode通话媒体配置模式,参见:
返回
JCCallMediaConfig 通话媒体配置对象

◆ toString

- (NSString* __nonnull) toString

字符串信息

返回
返回 JCCall 实例信息

属性说明

◆ audioAecMode

- (JCCallAecMode) audioAecMode
readwritenonatomicassign

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

◆ audioArsBitrateMax

- (int) audioArsBitrateMax
readwritenonatomicassign

音频最大码率,默认值为 75 kb

◆ audioArsBitrateMin

- (int) audioArsBitrateMin
readwritenonatomicassign

音频最小码率,默认值为 20 kb

◆ audioArsEnable

- (bool) audioArsEnable
readwritenonatomicassign

是否开启音频,默认开启

  • true: 开启
  • false: 关闭

◆ audioEnableCodecs

- (NSString* __nonnull) audioEnableCodecs
readwritenonatomicstrong

音频编解码

协商优先级按顺序排列, 每个编解码用";"间隔, 注意大小写, 默认值为 "opus;AMR;G729"

◆ audioPacketTime

- (int) audioPacketTime
readwritenonatomicassign

音频打包时长,默认值为 20

◆ audioQosAec

- (bool) audioQosAec
readwritenonatomicassign

是否开启回声消除,默认开启

  • true: 开启
  • false: 关闭

◆ audioQosAgc

- (bool) audioQosAgc
readwritenonatomicassign

是否开启发送端声音自动增益控制,默认开启

  • true: 开启
  • false: 关闭

◆ audioQosAgcGain

- (int) audioQosAgcGain
readwritenonatomicassign

发送端声音自动增益控制强度,默认值为9

取值范围为[0,90],数值越大,增益强度越大。当 audioQosAgc 为 true 时有效

◆ audioQosAnr

- (bool) audioQosAnr
readwritenonatomicassign

是否开启发送端噪声抑制,默认开启

注解
  • 接收端声音噪声大,提高抑制等级
  • 接收端声音小,可在不影响声音质量情况下降低抑制等级或者关闭抑制
  • true: 开启
  • false: 关闭

◆ audioQosVad

- (bool) audioQosVad
readwritenonatomicassign

是否开启静音检测,默认关闭

  • true: 开启
  • false: 关闭

◆ audioRed

- (bool) audioRed
readwritenonatomicassign

是否打开语音red抗丢包,默认开启

注解
网络不稳定,一般选择打开
  • true: 打开,能够增加payload码率
  • false: 关闭,能力节省码率从而降低功耗

◆ audioRtx

- (bool) audioRtx
readwritenonatomicassign

是否开启rtx重传,默认关闭

注解
  • 同FEC、NACK一起用, 能够降低功耗
  • 网络不稳定, 一般选择打开
  • true: 打开
  • false: 关闭

◆ audioRxAgc

- (bool) audioRxAgc
readwritenonatomicassign

是否打开接收端声音自动增益控制,默认关闭

注解
接收端声音过大过小时, 可尝试打开
  • true: 打开
  • false: 关闭

◆ audioRxAnr

- (bool) audioRxAnr
readwritenonatomicassign

是否开启噪声抑制,默认关闭

注解
一般接收端声音质量好可关闭噪声抑制, 减少声音dsp处理, 降低功耗
  • true: 开启
  • false: 关闭

◆ heartbeatTime

- (int) heartbeatTime
readwritenonatomicassign

心跳间隔,默认心跳间隔为30秒

取值范围为(0,3600)。比如本端设置了心跳间隔为 X 秒,那么对端在 3*X 秒内都没有收到本端的心跳时,对端将收到 onCallItemRemove 通话结束的回调

◆ videoArsBitrateMax

- (int) videoArsBitrateMax
readwritenonatomicassign

视频最大码率,默认值为 1500 kb

◆ videoArsBitrateMin

- (int) videoArsBitrateMin
readwritenonatomicassign

视频最小码率,默认值为 50 kb

◆ videoArsEnable

- (bool) videoArsEnable
readwritenonatomicassign

是否开启视频 ars,默认开启

  • true: 开启
  • false: 关闭

◆ videoArsFramerateMax

- (int) videoArsFramerateMax
readwritenonatomicassign

视频最大帧率,默认值为 30 kb

◆ videoArsFramerateMin

- (int) videoArsFramerateMin
readwritenonatomicassign

视频最小帧率,默认值为 1 kb

◆ videoBitrate

- (int) videoBitrate
readwritenonatomicassign

视频初始码率,默认值为 800 kb

◆ videoEnableCodecs

- (NSString* __nonnull) videoEnableCodecs
readwritenonatomicstrong

视频编解码,协商优先级按顺序排列,默认值为 "H264-SVC;H264;VP8"

◆ videoKeyPeriod

- (int) videoKeyPeriod
readwritenonatomicassign

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

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

◆ videoRecvFullScreen

- (bool) videoRecvFullScreen
readwritenonatomicassign

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

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

  1. 本端默认请求是640*360的分辨率
  2. 本端屏幕分辨率为360*360
  • 若此参数设置成 true:请求分辨率 360*360
  • 若此参数设置成 false: 请求分辨率 640*360
  • true: 影响
  • false: 不影响

◆ videoRedFec

- (bool) videoRedFec
readwritenonatomicassign

是否开启rfc 2198 语音fec-red,默认开启

注解
开启后可以增强抗丢包能力,会增加一倍的payload码率,不会增加包头。比如Opus 55kbps增加一倍码率后,最终码率达到90kbps=55+35;Opus 10kbps增加一倍码率后,最终码率达到16kbps=10+6
  • true: 开启
  • false: 关闭

◆ videoResolutionControl

- (bool) videoResolutionControl
readwritenonatomicassign

是否开启分辨率控制,默认开启

  • true: 开启, 分辨率随网络波动而变化
  • false: 关闭, 固定分辨率

◆ videoResolutionRecvHeight

- (int) videoResolutionRecvHeight
readwritenonatomicassign

视频接收高,默认值为 360

◆ videoResolutionRecvWidth

- (int) videoResolutionRecvWidth
readwritenonatomicassign

视频接收宽,默认值值为 640

◆ videoResolutionSendHeight

- (int) videoResolutionSendHeight
readwritenonatomicassign

视频发送高,默认值为 360

◆ videoResolutionSendWidth

- (int) videoResolutionSendWidth
readwritenonatomicassign

视频发送宽,默认值为 640

◆ videoSendFramerate

- (int) videoSendFramerate
readwritenonatomicassign

发送帧率,默认值为 24

◆ videoSmallNalu

- (bool) videoSmallNalu
readwritenonatomicassign

是否开启视频数据以 SmallNalu 方式打包,默认开启

开启后一个包打包的数据多,减少包头的码率,从而降低功耗

  • true: 开启
  • false: 关闭

该类的文档由以下文件生成:
最后更新时间: 2023/4/28 11:17:11