AbstractStaticcreate创建JRTCCall对象
JRTCClient对象,用于提供账号登录和消息通道服务
JRTCMediaDevice对象,用于提供音视频设备管理服务
JRTCCallCallback回调接口,用于接收通话相关的事件通知
JRTCCall对象实例,如果创建失败则返回undefined
StaticdestroyAbstractsetAbstractjoin加入通话
OptionalserialId: string业务流水号,用于标识此次业务操作,需保证唯一性。若传undefined,服务器将自动生成
OptionaljoinParam: JRTCCallJoinParam加入通话的参数设置,包括音视频设置、角色设置等。若传undefined,则使用默认参数
接口调用结果
true: 接口调用成功,之后会收到 onJoin 回调false: 接口调用失败,可能是参数错误或当前状态不允许加入通话此方法用于加入一个通话,加入后可与通话内的其他用户进行音视频交流。
该接口还支持在加入通话的同时邀请其他用户,通过设置 JRTCCallJoinParam 中的
inviteCalleeUserId 和 inviteCalleeUserType 参数实现。
使用注意事项:
AbstractleaveAbstractstopAbstractinvite邀请其他成员加入通话
被邀请者的用户ID
邀请参数,可以包含自定义信息和设置
操作ID
AbstractcancelAbstractaccept接受邀请
是否需要视频通话
true: 接受视频通话邀请false: 仅接受音频通话邀请OptionalacceptParam: JRTCCallAcceptParam接受邀请的附加参数设置
操作ID或错误码
AbstractrejectAbstractget获取自己对象
当前用户的参与者对象
undefinedAbstractgetAbstractget根据用户标识获取房间成员
用户唯一标识,用于查询特定用户
指定用户ID的参与者对象
undefinedAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractget获取统计信息
包含通话详细统计信息的字符串
undefined返回的字符串包含四个主要节点:"Config"、"Network"、"Transport"和"Participants",分别对应音视频设置信息、 网络统计信息、传输通道信息和通话参与者信息。
此方法可用于分析通话质量和进行问题排查,包含丰富的媒体和网络参数指标。
统计信息格式示例:
{
"Config": {
"Audio Config": {
"SRTP": "off",
"Codec": "opus",
...
},
"Video Config": {
"SRTP": "off",
"Codec": "H264-SVC",
...
}
},
"Network": {
"Send Statistic": {
"Packets": "181|1305|0|0",
"RTT": "4",
...
},
"Recv Statistic": {
...
}
},
"Transport": {
...
},
"Participants": {
...
}
}
Abstractget获取实时统计信息
包含通话实时统计信息的JSON字符串
undefined此方法提供了比 getStatistics 更为简洁的统计信息,适合需要监控通话实时状态的场景。 返回的数据包括带宽估计、码率、延迟、丢包率等核心指标。
统计信息格式示例:
{
"localActor": "[username:2333@100645.cloud.justalk.com]",
"sendBWE": "1440",
"recvBWE": "929",
"sendBr": "16",
"recvBr": "772",
"sendJitter": "1",
"recvJitter": "0",
"sendLossRate": "0",
"recvLossRate": "0",
"encodeTime": "0",
"rtt": "5",
"audioSendBr": "19",
"videoSendBr": "0",
"audioLevel": "58",
"event": ""
}
AbstractgetAbstractsend发送消息,消息内容不能大于4K
消息内容类型,用于标识消息的类型
消息内容,不能超过4K大小
指定接收消息的用户ID
undefined:消息发送给通话中所有成员操作ID或错误码
指定接收者会收到 onMessageReceived 回调。 此方法可用于在通话中实现文本聊天、命令传递等功能。
Abstractenable开启/关闭发送本地音频流
开启/关闭发送本地音频流
true: 开启,即发送本地音频流false: 关闭,即不发送本地音频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractenable开启/关闭发送本地视频流
是否发送本地视频流
true: 开启,即发送本地视频流false: 关闭,即不发送本地视频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractenable开启/关闭音频输出
是否开启音频输出
true: 开启音频输出,可以听到其他成员的声音false: 关闭音频输出,听不到其他成员的声音操作结果
true: 接口调用成功,会收到 onCallPropertyChanged 回调false: 接口调用失败该方法可实现本地静音功能。关闭音频输出时,听不到通话内其他成员的声音,但不影响其他成员; 开启音频输出时,可以听到其他成员声音。
初始化JRTCCall时,音频输出功能默认是开启的。如需在加入通话时就不听见其他成员的声音, 建议在调用 join 加入通话前设置。
Abstractsend发送音频空包
是否发送音频空包
true: 发送音频空包,不传输实际音频数据false: 发送正常音频包,传输实际音频数据操作结果
true: 接口调用成功false: 接口调用失败该接口不会导致成员的 JRTCRoomParticipant.audio 属性变化,发送音频空包 不代表停止发送音频流。此方法通常用于座席保持通话等特殊场景。
发送空包时,其他成员将收不到本端的实际音频内容,但通话连接依然保持。
Abstractsend发送视频空包
是否发送视频空包
true: 发送视频空包,不传输实际视频数据false: 发送正常视频包,传输实际视频数据操作结果
true: 接口调用成功false: 接口调用失败该接口不会导致成员的 JRTCRoomParticipant.video 属性变化,发送视频空包 不代表停止发送视频流。此方法通常用于座席保持通话等特殊场景。
发送空包时,其他成员将收不到本端的实际视频内容,但通话连接依然保持。
Abstractenable开启/关闭屏幕共享
是否开启屏幕共享
true: 开启屏幕共享,其他成员可以看到您的屏幕内容false: 关闭屏幕共享,停止向其他成员分享屏幕OptionalsendScreenParam: JRTCSendScreenParam屏幕共享参数设置,可控制共享质量和行为
OptionalenableAudio: boolean是否同时共享系统音频
true: 同时共享系统音频false: 仅共享屏幕画面,不共享音频操作结果
true: 接口调用成功false: 接口调用失败此方法只负责信令通知,请确保开启屏幕共享前已经开启了屏幕采集, 否则远端用户收到屏幕共享画面为黑屏。
成员开启或关闭屏幕共享时,通话中的所有成员会收到 onCallPropertyChanged 回调。
Abstractsuspend暂停/继续屏幕共享
是否暂停屏幕共享
true: 暂停屏幕共享,共享暂时中断但不结束false: 继续屏幕共享,恢复之前暂停的共享暂停屏幕共享时显示给其他成员的提示文字
操作结果
true: 接口调用成功,会收到 onCallPropertyChanged 回调false: 接口调用失败Abstractis是否屏幕共享暂停
屏幕共享暂停状态
true: 屏幕共享当前处于暂停状态false: 屏幕共享当前处于正常或未开启状态此方法用于检查当前屏幕共享是否处于暂停状态。 通常与 suspendScreenShare 方法配合使用,用于控制和获取屏幕共享的状态。
AbstractsetAbstractget获取视频请求尺寸
当前设置的视频请求尺寸
undefinedAbstractset设置视频请求尺寸
视频尺寸大小设置
undefined 以使用系统默认尺寸Abstractrequest订阅通话中其他成员的视频流
需要订阅视频的成员对象
undefined:表示不订阅任何成员的视频视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败Abstractun取消订阅通话中其他成员的视频流
需要取消订阅视频的成员对象
undefined:表示取消当前所有的视频订阅操作结果
true: 接口调用成功,会收到 onParticipantUpdate 回调false: 接口调用失败Abstractrequest订阅通话中屏幕共享的视频流
视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败AbstractunAbstractcreate创建额外视频流
本地视频流采集源流Id
是否屏幕共享(包括窗口共享、区域共享)
通话中的视频流ID 创建成功后,通话内其他成员将收到 onParticipantUpdate 回调,extraStream为 true
Abstractdelete删除额外视频流
本次视频流采集源流Id
接口调用结果
Abstractrequest订阅通话中其他用户的额外视频流
JRTCRoomParticipant 成员对象
视频流ID
视频请求的尺寸
接口调用结果
Abstractun取消订阅通话中其他用户的额外视频流
JRTCRoomParticipant 成员对象
视频流ID
接口调用结果
Abstractenable开启/关闭本地录制
是否开启本地录制
true: 开启本地录制功能false: 关闭本地录制功能本地录制参数配置
enable=true):filePath 必须设置,其余参数不设置则使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败Abstractupdate更新本地录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败AbstractisAbstractenable开启/关闭远程视频录制
是否开启远程视频录制
true: 开启远程视频录制false: 关闭远程视频录制远程录制参数配置
enable=true):可传入特定参数或 undefined 使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败此方法用于控制远程服务器的视频录制功能。开启后,服务器将录制通话内容。
录制状态变化会通过 onCallPropertyChanged 回调通知, 可关注 remoteRecordState 属性。
可以通过 getRemoteRecordState 接口获取当前服务器录制状态。
Abstractupdate更新远程录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败AbstractupdateAbstractget获取远程视频录制状态
当前远程录制状态
AbstractsetAbstractenableAbstractsetAbstractis获取是否订阅屏幕共享
屏幕共享订阅状态
true: 当前设置为自动订阅屏幕共享false: 当前设置为不自动订阅屏幕共享此方法用于查询当前是否设置了自动订阅屏幕共享。可以根据此状态 决定是否需要调用 setSubScreenShare 方法改变设置。
发起业务
业务成功开始
事件码
业务结束
事件码
多方通话2.0管理类
Remarks
JRTCCall类是菊风实时通信SDK中用于管理多方通话的核心类,提供了创建、加入、离开通话等功能。 该类是一个抽象类,实际使用时需要通过create静态方法获取其实现实例。
通过此类可以实现: