Abstract
最大通话数,默认值为1
当通话数到达最大通话数后,调用 call 接口呼出会失败,收到来电会自动拒绝
当音频接收网络状态为无网络时是否挂断,默认为不挂断
也就是 getAudioNetReceiveStatus 状态为 NetStatus.NET_STATUS_DISCONNECTED 时是否挂断
Abstract
add添加回调
JCCallCallback 接口对象
Abstract
answer接听
调用接口成功会收到 onCallItemUpdate 通知,
另外还有两种情况也会收到通知:1、若收到的是视频呼叫,而本端选择了音频接听 2、若此路通话不是活跃的,会将此路通话设为活跃通话。
调用接口失败会收到 onCallItemRemove 通知
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象
针对视频呼入可以选择以视频接听还是音频接听
是否正常调用
Abstract
audio开启/关闭通话录音
开启通话录音,需要保证没有在录音也没有在录制视频
关闭通话录音,需要保证当前通话正在录音
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象
开启关闭录音
录音文件的本地保存路径,由用户自行指定,需精确到文件名,例如:/sdcard/emulated/0/audio.wav,请确保目录存在且可写。内部默认以 wav 格式录制
是否正常调用
Abstract
become切换活跃通话
调用此方法时,入参 JCCallItem 对象不是活跃的,则会收到 onCallItemUpdate 通知;若入参 JCCallItem 对象已是活跃的,则不会收到通知
需要变为活跃状态的 JCCallItem 对象
是否正常调用
Abstract
call发起一对一呼叫
若发起的是音频呼叫,需要保证本地不存视频通话,并且本地通话数未达到最大通话数,最大通话数为:maxCallNum 。
若发起的是视频呼叫,需要保证本地不存在通话。
发起呼叫成功后,会收到 onCallItemAdd 通知
以下两种情况会收到 onCallItemRemove 通知:
对方的用户标识,不能为空
是否视频呼叫
通话参数对象,此参数可为空,详细定义见: CallParam
是否正常调用
Abstract
destroyAbstract
enable开启/关闭视频流发送
通过 getUploadVideoStreamSelf 来决定开启还是关闭视频流的发送
JCCallItem 对象
是否正常调用
Abstract
get获得当前活跃的通话
当上层收到 onCallItemAdd 回调后, 调用此方法可以获取到当前活跃的通话对象,可以使用该对象进行接听、渲染视频画面等操作。 若上层在收到 onCallItemAdd 回调前调用了此方法,将会返回 null。
Abstract
get获得通话对象列表
当 maxCallNum > 1 时,可能存在多个音频通话对象
通话对象列表
Abstract
get获得当前的媒体参数
MediaConfig 媒体参数对象
Abstract
getAbstract
hold开启/取消呼叫保持
开启呼叫保持后,通话将被挂起。内部会根据 getHold 来决定开启/取消呼叫保持
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象,此对象的通话状态必须为通话中
是否正常调用
Abstract
mute开启/取消音频输入静音
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象,此对象的通话状态必须为通话中
是否正常调用
从 v2.7.1 废弃。Juphoon 不建议你使用。如果你想开启/取消音频输入静音,请改用 muteMicrophone 方法
开启后对端将听不到本端的声音。内部会根据 getMute 来决定开启/取消静音
Abstract
mute开启/取消音频输入静音
开启后对端将听不到本端的声音
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象,此对象的通话状态必须为通话中
是否静音
是否正常调用
Abstract
muteJCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象,此对象的通话状态必须为通话中
是否静音
是否正常调用
Abstract
remove删除回调
JCCallCallback 接口对象
Abstract
send发送DTMF信息
需要发送数据的 JCCallItem 对象
是否正常调用
Abstract
send通过通话建立的通道发送数据
此接口调用成功后,消息接收方会收到 onMessageReceive 回调,通过此回调可以获取消息的文本类型和文本内容
需要发送数据的 JCCallItem 对象
文本消息类型,用户可以自定义,例如text,xml等
文本内容
是否正常调用
Abstract
set设置麦克风输入声音线性放大值
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象,此对象的通话状态必须为通话中
线性放大值,范围0-10。1表示原值,不放大不缩小。
是否正常调用
Abstract
term挂断
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象
挂断原因,参见:CallReason.REASON_NONE
挂断描述
是否正常调用
Abstract
update更新媒体参数
可以通过该方法更新媒体参数以适应不同设备类型,比如视频发送/接收的宽高、音频/视频的最大最小码率等。需要在调用 call 接口发起呼叫前进行设置。
MediaConfig 媒体参数对象,通过 generateByMode 方法创建
如果此方法入参 MediaConfig 对象的 MediaConfig.mode 属性为 Mode.MODE_INTELLIGENT_HARDWARE,则会将音频输入/输出采样率设为 8000
Abstract
video开启/关闭视频通话录制
开启视频录制,需要保证 1、没有在录音 2、若是录制远端视频,要保证没有在录制远端视频,并且远端在上传视频流 3、若是录制本端视频,要保证没有在录制本端视频,并且本端在上传视频流。
关闭视频录制,需要保证 1、若是关闭远端视频,要保证正在录制远端视频 2、若是关闭本端视频,要保证正在录制本端视频
JCCallItem 对象,不能为空,并且本地缓存的通话列表中要包含此对象
是否开启视频通话录制
是否录制远端视频源
录制视频宽像素
录制视频高像素
录制视频文件的本地保存路径,由用户自行指定,需精确到文件名及格式,例如:/sdcard/emulated/0/video.mp4。请确保目录存在且可写。
是否录制两端音频
关键帧间隔 参数单位秒,参数要求大于0。如果同时存在多个录制,需要每个录制任务开始前分别调用此接口, mp4、avi格式默认60s一个关键帧,rtmp格式默认2s一个关键
是否正常调用
Static
create创建 JCCall 对象
JCCall 的所有接口函数,如无特殊说明,都建议在主线程调用
JCClient 对象
JCMediaDevice 对象,通过 create 方法创建
JCCallCallback 对象,用于回调相关通知
JCCall 对象
"JCClient、JCMediaDevice、JCCallCallback 任意参数传空就会抛出异常"
Static
destroy销毁 JCCall 对象
该方法为同步调用,需要等待 JCCall 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JCCall 的其它方法和回调。
我们 不建议 在 JCSDK 的回调中调用此方法销毁 JCCall 对象,有可能会出现崩溃。
如需在销毁后再次创建 JCCall 实例,需要等待 destroy 方法执行结束后再创建实例。
用于管理一对一通话