Abstract发起业务
业务成功开始
事件码
业务结束
事件码
Staticcreate创建房间管理对象
JRTCClient对象,用于提供基础通信功能
JRTCMediaDevice对象,用于提供媒体设备管理功能
JRTCRoomCallback对象,用于接收房间相关事件回调
创建的JRTCRoom对象,如果参数无效则返回undefined
StaticdestroyAbstractget获取房间号
当前房间的房间号,未加入房间时可能为 undefined
Abstractget获取业务流水号
业务流水号,未设置时可能为 undefined
AbstractgetAbstractget获取房间标题
房间标题,未设置时可能为 undefined
AbstractgetAbstractget获取房间中的所有成员
房间成员列表,未加入房间时可能为 undefined
Abstractget获取本地音频数据是否在上传
是否上传音频数据
true: 上传中false: 未上传Abstractget获取本地视频数据是否在上传
是否在上传本地视频数据
true: 上传中false: 未上传AbstractgetAbstractgetAbstractgetAbstractisAbstractget获取远程视频录制状态
当前远程录制状态
AbstractgetCDNState获取CDN推流状态
CDN推流状态
可能的状态值包括:
Abstractset设置是否由应用层自行控制屏幕采集逻辑
是否由应用层自行控制屏幕采集逻辑
true: 由应用层自行调用 JRTCMediaDevice.enableScreenCapture 接口控制屏幕采集开启/关闭逻辑false: 由SDK内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑AbstractsetAbstractis获取是否上报音量变化
是否上报音量变化
AbstractgetAbstractquery查询房间相关信息
房间标识
操作ID,与 JRTCRoomCallback.onQuery 回调中的operationId对应
调用此接口可以查询房间相关信息,例如房间是否存在,房间人数等, 结果通过 JRTCRoomCallback.onQuery 回调通知
Abstractjoin加入房间
房间标识
JRTCRoomJoinParam对象,传undefined则使用默认配置
接口调用结果
true: 接口调用成功,会收到 JRTCRoomCallback.onJoin 回调false: 接口调用异常AbstractleaveAbstractkick把成员踢出房间
成员用户ID
接口调用结果
true: 接口调用成功,非空闲状态下,会收到 JRTCRoomCallback.onKickUserResult 回调false: 接口调用异常Abstractenable开启/关闭发送本地音频流
开启/关闭发送本地音频流
true: 开启,即发送本地音频流false: 关闭,即不发送本地音频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractenable开启/关闭发送本地视频流
是否发送本地视频流
true: 开启,即发送本地视频流false: 关闭,即不发送本地视频流接口调用结果
true: 接口调用成功false: 接口调用异常Abstractenable开启/关闭音频输出
是否开启音频输出
true: 开启音频输出false: 关闭音频输出接口调用结果
true: 接口调用成功,会收到 JRTCRoomCallback.onRoomPropertyChanged 回调false: 接口调用异常Abstractrequest订阅通话中其他成员的视频流
需要订阅视频的成员对象
undefined:表示不订阅任何成员的视频视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败Abstractun取消订阅通话中其他成员的视频流
需要取消订阅视频的成员对象
undefined:表示取消当前所有的视频订阅操作结果
true: 接口调用成功,会收到 onParticipantUpdate 回调false: 接口调用失败Abstractrequest订阅通话中屏幕共享的视频流
视频请求的尺寸
undefined:使用默认尺寸操作结果
true: 接口调用成功false: 接口调用失败AbstractunAbstractcreate创建额外视频流
本地视频流采集源流Id
是否屏幕共享(包括窗口共享、区域共享)
通话中的视频流ID 创建成功后,通话内其他成员将收到 JRTCRoomCallback#onParticipantUpdate 回调
Abstractdelete删除额外视频流
本次视频流采集源流Id
接口调用结果
Abstractrequest订阅房间中其他用户的额外视频流
JRTCRoomParticipant 成员对象
视频流ID
视频请求的尺寸
接口调用结果
Abstractun取消订阅房间中其他用户的额外视频流
JRTCRoomParticipant 成员对象
视频流ID
接口调用结果
Abstractenable开启/关闭本地录制
是否开启本地录制
true: 开启本地录制功能false: 关闭本地录制功能本地录制参数配置
enable=true):filePath 必须设置,其余参数不设置则使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败Abstractupdate更新本地录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败Abstractenable开启/关闭CDN推流
开启/关闭CDN推流
true: 开启CDN推流false: 关闭CDN推流推流关键帧间隔(毫秒)
true 时有效接口调用结果
true: 接口调用成功,会收到 JRTCRoomCallback.onRoomPropertyChanged 通知false: 接口调用异常CDN推流功能需要在加入房间时通过 JRTCRoomJoinParam 设置相关参数, 否则无法开启CDN推流。
Abstractenable开启/关闭远程视频录制
是否开启远程视频录制
true: 开启远程视频录制false: 关闭远程视频录制远程录制参数配置
enable=true):可传入特定参数或 undefined 使用默认配置enable=false):可传入 undefined操作结果
true: 接口调用成功false: 接口调用失败此方法用于控制远程服务器的视频录制功能。开启后,服务器将录制通话内容。
录制状态变化会通过 onRoomPropertyChanged 回调通知, 可关注 remoteRecordState 属性。
可以通过 getRemoteRecordState 接口获取当前服务器录制状态。
Abstractupdate更新远程录制自定义布局
需要更新的布局列表
undefined:使用默认布局操作结果
true: 接口调用成功false: 接口调用失败AbstractupdateAbstractenable开启通用化远程录制
接口调用结果
true: 接口调用成功,开启结果通过 JRTCRoomCallback.onEnableRemoteAdvancedRecordResult 回调false: 接口调用异常Abstractenable开启/关闭屏幕共享
开启或关闭屏幕共享
true: 开启屏幕共享false: 关闭屏幕共享OptionalsendScreenParam: JRTCSendScreenParam屏幕共享媒体参数
OptionalenableAudio: boolean是否采集系统音频
true: 采集系统音频false: 不采集系统音频接口调用结果
true: 接口调用成功false: 接口调用异常如果 setUseExternalScreenCaptureControl 设置为 true,
则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集,
否则远端用户收到屏幕共享画面为黑屏。
Abstractsuspend暂停/继续屏幕共享
是否暂停屏幕共享
true: 暂停屏幕共享false: 继续屏幕共享暂停屏幕共享后显示的提示文字
接口调用结果
true: 接口调用成功,可通过 isSuspendScreenShare 判断当前屏幕共享是否暂停false: 接口调用异常Abstractis获取屏幕共享是否处于暂停状态
屏幕共享暂停状态
true: 屏幕共享已暂停false: 屏幕共享未暂停Abstractget根据用户标识获取房间成员
用户唯一标识
房间成员对象
undefinedAbstractget获取统计信息
以字符串形式返回的统计信息
返回的字符串包含 "Config"、"Network"、"Transport" 和 "Participants" 4个节点, 分别表示音视频设置信息、网络状态信息、传输状态信息和参与者信息。
统计信息包含以下主要部分:
Config - 音视频设置信息
Network - 网络统计信息
Transport - 传输通道信息
Participants - 参与者信息
示例:
{
"Config": {
"Audio Config": {
"SRTP": "off",
"Codec": "opus",
"Bitrate": 16000,
// 更多音频配置...
},
"Video Config": {
"Codec": "H264-SVC",
"Resolution": "1280x720",
"Framerate": 24,
// 更多视频配置...
}
},
"Network": {
"Send Statistic": {
"RTT": 4,
"Lost": 2,
"LostRate": 0,
// 更多发送统计...
},
"Recv Statistic": {
"Jitter": 1,
"Lost": 0,
// 更多接收统计...
}
},
"Transport": {
"Local": "2.1923737535:32414",
"Path": "2 [udp]",
// 更多传输信息...
},
"Participants": {
"2333": {
// 本地参与者统计...
},
"6666": {
// 远端参与者统计...
}
}
}
此统计信息可用于监控和诊断通话质量问题,评估网络状况,以及优化音视频参数设置。
Abstractget获取实时统计信息
以JSON字符串形式返回的实时统计信息
返回的字符串包含多个关键性能指标,包括带宽估计、码率、延迟和丢包率等。
示例:
{
"localActor": "[username:2333@100645.cloud.justalk.com]", // 用户标识
"sendBWE": "1440", // 发送带宽估计(kbps)
"recvBWE": "929", // 接收带宽估计(kbps)
"sendBr": "16", // 发送码率(kbps)
"recvBr": "772", // 接收码率(kbps)
"sendJitter": "1", // 发送抖动(ms)
"recvJitter": "0", // 接收抖动(ms)
"sendLossRate": "0", // 发送丢包率(%)
"recvLossRate": "0", // 接收丢包率(%)
"encodeTime": "0", // 编码时长(ms)
"rtt":"5", // 往返延时(ms)
"audioSendBr": "19", // 音频发送码率(kbps)
"videoSendBr": "0", // 视频发送码率(kbps)
"audioLevel": "58", // 音量级别(0-100)
"event":"" // 事件信息
}
Abstractset设置房间自定义属性
自定义属性的键名
自定义属性的值,传入 undefined 表示删除该属性
接口调用结果
true: 接口调用成功false: 接口调用异常房间自定义属性可用于在房间内存储和共享一些应用层的信息, 如房间主题、会议议程等。设置成功后,房间内所有成员都可以通过 getCustomProperty 方法获取到该属性。
Abstractget获取房间自定义属性
自定义属性的键名
属性值,如果属性不存在则返回空字符串
调用此接口来获取通过 setCustomProperty 设置的自定义房间属性。
Abstractsend发送房间消息
消息类型,用于区分不同种类的消息
消息内容,不能大于4KB
指定接收消息的成员用户ID
undefined: 向房间内所有成员发送消息接口调用结果
true: 接口调用成功false: 接口调用异常消息接收方都会收到 onMessageReceived 回调。 消息内容大小限制为4KB,超过限制将发送失败。
Abstractinvite邀请SIP用户加入房间
邀请SIP用户入会的配置参数,详见 JRTCSipInviteParam
操作ID或错误码
> 0: 操作ID,结果通过 onInviteSipUserResult 回调通知-1: 调用失败,不会收到回调通知Abstractset设置本端视频宽高比
视频宽高比,例如16:9为1.778,4:3为1.333
接口调用结果
true: 接口调用成功false: 接口调用异常Abstractsend发送音频空包
音频发送包是否为空包
true: 发送音频空包false: 发送正常音频包接口调用结果
true: 接口调用成功false: 接口调用异常该接口不会导致成员的 audio 属性变化, 发送音频空包不代表停止发送音频流。可用于临时屏蔽音频内容但保持音频流连接。
Abstractsend发送视频空包
视频发送包是否为空包
true: 发送视频空包false: 发送正常视频包接口调用结果
true: 接口调用成功false: 接口调用异常该接口不会导致成员的 video 属性变化, 发送视频空包不代表停止发送视频流。可用于临时屏蔽视频内容但保持视频流连接。
AbstractsetAbstractenableAbstractsetAbstractis获取是否订阅屏幕共享
屏幕共享订阅状态
true: 已订阅屏幕共享false: 未订阅屏幕共享Abstractget
房间管理抽象类
Remarks
提供房间相关功能,包括创建/销毁房间、加入/离开房间、音视频流控制、屏幕共享、 消息发送、自定义属性设置等功能。通过此类可以管理通话房间的各种行为和状态。