JRTCSDK-Android v2401.0
视频客服 API 文档
载入中...
搜索中...
未找到
| Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | Protected 成员函数 | 所有成员列表
JRTCRoom类 参考abstract

interface  ParticipantType
 
class  PropChangeParam
 
interface  SecurityType
 
interface  VideoDefinition
 

Public 成员函数

abstract String getRoomId ()
 
abstract String getPassword ()
 
abstract String getSerialId ()
 
abstract String getCallId ()
 
abstract String getTitle ()
 
abstract int getState ()
 
abstract List< JRTCRoomParticipantgetParticipants ()
 
abstract boolean getUploadLocalAudio ()
 
abstract boolean getUploadLocalVideo ()
 
abstract boolean getAudioOutput ()
 
abstract String getShareStreamId ()
 
abstract String getShareUserId ()
 
abstract boolean isLocalRecording ()
 
abstract int getRemoteRecordState ()
 
abstract int getCDNState ()
 
abstract void setUseExternalScreenCaptureControl (boolean useExternalControl)
 
abstract void setNotifyVolumeChange (boolean b)
 
abstract boolean isNotifyVolumeChange ()
 
abstract List< JRTCVideoSizegetSupportVideoSizes ()
 
abstract int query (String roomId)
 
abstract boolean join (String roomId, JRTCRoomJoinParam joinParam)
 
abstract boolean leave ()
 
abstract boolean kickUser (String userId)
 
abstract boolean enableUploadAudioStream (boolean enable)
 
abstract boolean enableUploadVideoStream (boolean enable)
 
abstract boolean enableAudioOutput (boolean enable)
 
abstract boolean requestVideo (JRTCRoomParticipant participant, JRTCVideoSize videoSize)
 
abstract boolean unRequestVideo (JRTCRoomParticipant participant)
 
abstract boolean requestScreenVideo (JRTCVideoSize videoSize)
 
abstract boolean unRequestScreenVideo ()
 
abstract boolean enableLocalRecord (boolean enable, JRTCRecordLocalParam recordParam)
 
abstract boolean updateLocalRecordLayout (List< RecordLayout > layoutList)
 
abstract boolean enableCdn (boolean enable, int keyInterval)
 
abstract boolean enableRemoteRecord (boolean enable, JRTCRecordRemoteParam recordParam)
 
abstract boolean updateRemoteRecordLayout (List< JRTCRecordRemoteParam.RecordLayout > layoutList)
 
abstract boolean updateRemoteRecordWatermark (Map< String, String > watermarkTextMap)
 
abstract boolean enableRemoteAdvancedRecord ()
 
abstract boolean enableScreenShare (boolean enable)
 
abstract boolean suspendScreenShare (boolean suspend, String tip)
 
abstract boolean isSuspendScreenShare ()
 
abstract boolean enableAudioInputFromFile (boolean enable, String filePath, boolean loop)
 
abstract boolean suspendAudioInputFromFile (boolean suspend)
 
abstract JRTCRoomParticipant getParticipant (String userId)
 
abstract String getStatistics ()
 
abstract String getJsonStats ()
 
abstract boolean setCustomProperty (String key, String value)
 
abstract String getCustomProperty (String key)
 
abstract boolean sendMessage (String type, String content, String toUserId)
 
abstract int inviteSipUser (JRTCSipInviteParam sipParam)
 
abstract boolean setRatio (float ratio)
 
abstract boolean sendAudioEmptyPack (boolean empty)
 
abstract boolean sendVideoEmptyPack (boolean empty)
 
abstract boolean setVideoDot (String timespan, String info)
 
abstract boolean enableMicAgc (boolean enable)
 
abstract boolean setSubScreenShare (boolean enable)
 
abstract boolean isSubScreenShare ()
 

静态 Public 成员函数

static JRTCRoom create (JRTCClient client, JRTCMediaDevice mediaDevice, JRTCRoomCallback callback)
 
static void destroy ()
 

静态 Public 属性

static final int DEFINITION_CUSTOM = 0
 
static final int DEFINITION_FLUENCY_FRAME_LOW = 1
 
static final int DEFINITION_FLUENCY_FRAME_HIGH = 2
 
static final int DEFINITION_STANDARD_FRAME_LOW = 3
 
static final int DEFINITION_STANDARD_FRAME_HIGH = 4
 
static final int DEFINITION_HIGH_FRAME_LOW = 5
 
static final int DEFINITION_HIGH_FRAME_HIGH = 6
 
static final int SECURITY_TYPE_DISABLE = 0
 
static final int SECURITY_TYPE_SRTP = 1
 
static final int SECURITY_TYPE_SM4 = 2
 
static final int PARTICIPANT_TYPE_VIEWER = 0
 
static final int PARTICIPANT_TYPE_NORMAL = 1
 
static final int PARTICIPANT_TYPE_PSTN = 2
 
static final int PARTICIPANT_TYPE_WEBRTC = 3
 
static final int PARTICIPANT_TYPE_IRC = 4
 
static final int PARTICIPANT_TYPE_AI = 5
 

Protected 成员函数

abstract void destroyObj ()
 
abstract boolean joinEx (String roomId, String businessId, int role)
 

详细描述

房间管理

成员函数说明

◆ create()

static JRTCRoom create ( JRTCClient  client,
JRTCMediaDevice  mediaDevice,
JRTCRoomCallback  callback 
)
static

创建 JRTCRoom 对象

JRTCRoom 的所有接口函数,如无特殊说明,都建议在主线程调用

参数
clientJRTCClient 对象
mediaDeviceJRTCMediaDevice 对象
callbackJRTCRoomCallback 代理对象,用于实现 JRTCRoomCallback 事件
返回
JRTCRoom 对象
异常
JRTCClient、JRTCMediaDevice、JRTCRoomCallback 任意一个参数传空就会出现调用失败
注解
- 当需要创建多个 JRTCRoom 对象时,可多次调用该方法
  • 调用此方法前确保 JRTCClient 已完成初始化,即 state 方法获取的状态值不等于 STATE_NOT_INIT

◆ destroy()

static void destroy ( )
static

销毁 JRTCRoom 对象

注解
- 该方法为同步调用,需要等待 JRTCRoom 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JRTCRoom 的其它方法和回调。
  • 我们 不建议 在 JRTCSDK 的回调中调用此方法销毁 JRTCRoom 对象,否则可能出现崩溃。
  • 如需在销毁后再次创建 JRTCRoom 实例,需要等待 destroy 方法执行结束后再创建实例。

◆ destroyObj()

abstract void destroyObj ( )
abstractprotected

销毁对象

◆ enableAudioInputFromFile()

abstract boolean enableAudioInputFromFile ( boolean  enable,
String  filePath,
boolean  loop 
)
abstract

开始/结束本地文件音频源输入

参数
enable- true: 开始输入,当输入完成后会收到 onFileAudioInputFinish 回调通知
filePath音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件)
loop是否循环播放
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
- 重复调用会覆盖
弃用:
该接口即将废弃,请使用 enableAudioInputFromFile 替换

◆ enableAudioOutput()

abstract boolean enableAudioOutput ( boolean  enable)
abstract

开启/关闭音频输出

  • 该方法可实现本地静音功能。关闭时听不到房间内其他成员的声音,不影响其他成员;开启时可以听到其他成员声音
  • 初始化 JRTCRoom 时,音频输出功能默认是开启的。若要加入房间时听不见其他成员的声音,建议在调用 join 加入房间前设置
参数
enable是否开启音频输出
  • true: 开启音频输出
  • false: 关闭音频输出
返回
接口调用结果

◆ enableCdn()

abstract boolean enableCdn ( boolean  enable,
int  keyInterval 
)
abstract

开启/关闭Cdn推流

参数
enable开启/关闭Cdn推流
  • true: 开启 Cdn 推流
  • false: 关闭 Cdn 推流
keyInterval推流关键帧间隔(毫秒),当参数 enable 为 true 时有效,有效值需要>=1000
返回
接口调用结果

◆ enableLocalRecord()

abstract boolean enableLocalRecord ( boolean  enable,
JRTCRecordLocalParam  recordParam 
)
abstract

开启/关闭本地录制

参数
enable开启或关闭本地录制
  • true: 开启本地录制
  • false: 关闭本地录制
recordParam本地录制参数配置,当 enable == true 时,JRTCRecordLocalParam#filePath 必须设置,其余参数不设置则使用默认配置;当 enable == false 时,recordParam 可传 null
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
确保调用接口前本地录制文件所在目录已经存在,否则会录制失败
参见
JRTCRecordLocalParam

◆ enableMicAgc()

abstract boolean enableMicAgc ( boolean  enable)
abstract

开启或关闭本地麦克风的增益(软件增益),默认开启

参数
enable是否开启麦克风增益
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
需要在加入房间后调用

◆ enableRemoteAdvancedRecord()

abstract boolean enableRemoteAdvancedRecord ( )
abstract

开启远程录制

返回
接口调用结果
注解
该录制服务是在基础录制服务的基础上,支持多路混流录制和分流录制同时输出的功能,输出文件格式包括:视频 mp4 avi;音频:wav aac mp3 后续会开放更改录制配置文件,目前使用默认配置文件
使用该接口开启远程录制,目前没有关闭录制接口,所有人离开房间后会自动结束录制
使用该接口也不需要判断录制状态是否可开启

◆ enableRemoteRecord()

abstract boolean enableRemoteRecord ( boolean  enable,
JRTCRecordRemoteParam  recordParam 
)
abstract

开启/关闭远程录制

可通过 getRemoteRecordState 属性获取当前服务器录制状态。

参数
enable开启或关闭远程录制
  • true: 开启视频录制
  • false: 关闭视频录制
recordParam录制参数,详见 JRTCRecordRemoteParam。当 enable == false 时,可传 null;当 enable == true 且按照默认配置进行录制可传 null
返回
接口调用结果
参见
JRTCRecordRemoteParam

◆ enableScreenShare()

abstract boolean enableScreenShare ( boolean  enable)
abstract

开启/关闭屏幕共享

参数
enable开启或关闭屏幕共享
  • true: 开启屏幕共享
  • false: 关闭屏幕共享
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
注解
如果 setUseExternalScreenCaptureControl 为 true, 则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集,否则远端用户收到屏幕共享画面为黑屏

◆ enableUploadAudioStream()

abstract boolean enableUploadAudioStream ( boolean  enable)
abstract

开启/关闭发送本地音频流

  • 调用该方法可开启或关闭发送本地音频流。开启后,房间成员将听见本端声音;关闭后,房间成员将听不见本端声音
  • 房间中调用此方法不影响接收远端音频
  • 初始化 JRTCRoom 时,默认不发送本地音频流。若要加入房间时,让房间内其他成员听见本端声音,需要在调用 join 加入房间前设置
  • 该方法在房间内和房间外均可调用,且在离开房间后该设置仍然有效。也就是说这一次设置了开启发送本地音频流,那么在下一次加入房间时默认会开启发送本地音频流
  • 通话中也可调用此方法开启或关闭发送本地音频流,服务器会更新状态并同步给其他房间成员,即房间中所有成员都会收到 onParticipantUpdate 回调
参数
enable开启/关闭发送本地音频流
  • true: 开启,即发送本地音频流
  • false: 关闭,即不发送本地音频流
返回
接口调用结果
  • true: 接口调用成功
  • 在调用此方法时,用户未加入房间,不会收到回调
  • 在调用此方法时,用户已在房间中,会收到 onRoomPropertyChange 回调
  • false: 接口调用异常

◆ enableUploadVideoStream()

abstract boolean enableUploadVideoStream ( boolean  enable)
abstract

开启/关闭发送本地视频流

  • 调用该方法可开启或关闭发送本地视频流。开启后,房间成员将可以看见本端视频画面;关闭后,房间成员将看不见本端视频画面
  • 房间中调用此方法不影响接收远端视频
  • 初始化 JRTCRoom 时,默认发送本地视频流。若要加入房间时,让房间内其他成员看见本端视频画面,建议在调用 join 加入房间前设置
  • 该方法在房间内和房间外均可调用,且在离开房间后该设置仍然有效。也就是说这一次设置了关闭发送本地视频流,那么在下一次加入房间时默认会关闭发送本地视频流
  • 通话中也可调用此方法开启或关闭发送本地视频流,服务器会更新状态并同步给其他房间成员,即房间中所有成员都会收到 onParticipantUpdate 回调
参数
enable是否发送本地视频流
  • true: 开启,即发送本地视频流
  • false: 关闭,即不发送本地视频流
返回
接口调用结果
  • true: 接口调用成功
  • 在调用此方法时,用户不在房间中,不会收到回调
  • 在调用此方法时,用户在房间中,会收到 onRoomPropertyChange 回调
  • false: 接口调用异常

◆ getAudioOutput()

abstract boolean getAudioOutput ( )
abstract

获取音频是否输出

本地没有音频输出的话,就听不到房间内其他成员的声音了

返回
是否音频输出
  • true: 输出中
  • false: 未输出

◆ getCallId()

abstract String getCallId ( )
abstract

获取房间唯一标识(服务器生成)

返回
房间唯一标识

◆ getCDNState()

abstract int getCDNState ( )
abstract

获取CDN推流状态

返回
CDN推流状态,详见 CDNState
  • CDN_STATE_NONE : 无法进行CDN推流。用户不在房间中或者加入房间时没有设置CDN推流参数
  • CDN_STATE_READY : 可以开启CDN推流。用户在加入房间时设置了CDN推流参数,并且没有在推流
  • CDN_STATE_RUNNING : CDN推流中。用户在加入房间时设置了CDN推流参数,并且正在CDN推流中

◆ getCustomProperty()

abstract String getCustomProperty ( String  key)
abstract

获取房间属性

调用此接口来获取自定义房间属性

参数
key自定义属性 key
返回
属性值

◆ getJsonStats()

abstract String getJsonStats ( )
abstract

获取实时统计信息

以Json字符串形式返回,包含以下信息:

{
* "localActor": "[username:2333@100645.cloud.justalk.com]", // actorID
* "sendBWE": "1440",      // 发送带宽估计
* "recvBWE": "929",       // 接收带宽估计
* "sendBr": "16",         // 发送码率
* "recvBr": "772",        // 接收码率
* "sendJitter": "1",      // 发送jitter
* "recvJitter": "0",      // 接收jitter
* "sendLossRate": "0",    // 发送丢包率
* "recvLossRate": "0",    // 接收丢包率
* "encodeTime": "0",      // 编码时长
* "rtt":"5",              // 往返延时
* "audioSendBr": "19",    // 音频发送码率
* "videoSendBr": "0",     // 视频发送码率
* "audioLevel": "58",     // 音量
* "event":""
* }
* 

◆ getParticipant()

abstract JRTCRoomParticipant getParticipant ( String  userId)
abstract

根据用户标识获取房间成员

参数
userId用户唯一标识
返回
房间成员对象
  • 房间内无此用户标识的用户: null
  • 房间内有此用户标识的用户: JRTCRoomParticipant 对象

◆ getParticipants()

abstract List< JRTCRoomParticipant > getParticipants ( )
abstract

获取房间中的所有成员

返回
房间成员列表

◆ getPassword()

abstract String getPassword ( )
abstract

获取房间密码

返回
房间密码

◆ getRemoteRecordState()

abstract int getRemoteRecordState ( )
abstract

获取远程视频录制状态

返回
远程视频录制状态,详见 RemoteRecordState
  • RECORD_STATE_NONE : 无法进行视频录制。用户不在房间中或者加入房间时没有设置视频录制参数
  • RECORD_STATE_READY : 可以开启视频录制。用户在加入房间时设置了录制参数,并且没有在录制视频
  • RECORD_STATE_RUNNING : 视频录制中。用户在加入房间时设置了录制参数,并且正在视频录制中

◆ getRoomId()

abstract String getRoomId ( )
abstract

获取房间号

返回
房间号

◆ getSerialId()

abstract String getSerialId ( )
abstract

获取业务流水号

返回
业务流水号

◆ getShareStreamId()

abstract String getShareStreamId ( )
abstract

获取屏幕共享时的视频流ID,无屏幕共享时为 null

调用 startVideo 接口渲染通话中其他成员的屏幕共享画面时使用。

返回
屏幕共享时的视频流ID

◆ getShareUserId()

abstract String getShareUserId ( )
abstract

获取发起屏幕共享者的用户ID,无屏幕共享时为 null

可用来判断当前通话中是否有成员发起屏幕共享。

返回
发起屏幕共享者的用户ID

◆ getState()

abstract int getState ( )
abstract

获取自己当前在房间中的状态

返回
当前在房间中的状态

◆ getStatistics()

abstract String getStatistics ( )
abstract

获取统计信息

以字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点:

{
* "Config":                                        // 音视频设置信息
* {
* "Audio Config:                          // 音频设置
* {
* "SRTP": off,                        // 是否对音频RTP数据加密,以及加密会显示使用的加密协议,加密协议两端一致才会音频互通正常
* "Codec": opus,                      // 本端设置的音频编码
* "Payload": 116,                     // 音频payload的大小
* "Bitrate": 16000,                   // 音频码率
* "Pkt Len": 60,                      // 音频包长
* "Nack": off,                        // 丢包是否允许数据包重传
* "RTX": off,                         // 是否允许RTX技术
* "FEC/RED": off,                     // 是否开启FEC
* "AEC": on,                          // 是否开启回声消除
* "Mode": OS,                         // AEC模式
* "HowlSupp": Auto,                   // AEC HowlSupp模式
* "Sts": Auto,                        // AEC Sts模式
* "AGC": on,                          // 是否开启发送端自动增益
* "Mode": Fixed,                      // 发送端AGC Mode
* "Target": 3,                        // 发送端AGC Target
* "Gain": 9,                          // 接收端AGC Gain
* "Rx AGC": off,                      // 是否开启接收端自动增益
* "Mode": Fixed,                      // 接收端AGC Mode
* "Target": 3,                        // 接收端AGC Target
* "Gain": 9,                          // 接收端AGC Gain
* "VAD": off,                         // 是否开启VAD
* "Mode": Mid,                        // VAD Mode
* "ANR": off,                         // 是否开启发送端噪音抑制
* "Mode": High,                       // ANR mode
* "Noise": N/A,                       // 噪音音量
* "SNR": N/A,                         // 信噪比
* "Rx ANR": off,                      // 是否开启接收端噪音抑制
* "Mode": Low,                        // 接收端ANR mode
* "ARS": off,                         // 是否开启音频码率控制
* "BR Min": N/A,                      // ARS码率最小值
* "BR Max": N/A                       // ARS码率最大值
* },
* "Video Config":                         // 视频设置
* {
* "SRTP": off,                        // 是否对音频RTP数据加密,以及加密会显示使用的加密协议,加密协议两端一致才会音频互通正常
* "Codec": H264-SVC,                  // 双方通话采用的编解码类型
* "Payload": 125,                     // 视频Payload的大小
* "Bitrate": 2250,                    // 视频码率,单位kbps
* "Framerate": 24,                    // 视频帧率,单位fps
* "Resolution": 1280x720,             // 视频分辨率
* "FEC": on|124|123,                  // FEC是否打开和payload的类型号
* "FIR": off,                         // 是否允许重发关键帧
* "Key Interval": 0,                  // 允许的最小关键帧间隔
* "Repeat": 0,                        // 关键帧丢失是否允许重发
* "NACK": off,                        // 丢包是否允许数据包重传
* "RTX": off,                         // 是否允许RTX技术,RTX的payload类型
* "TMMBR": off,                       // 是否允许带宽估计
* "RPSI": off,                        // 是否允许RPSI技术
* "Small NALU": on,                   // 是否允许NALU技术
* "ARS": off,                         // 是否开启ARS自动码率检测
* "BR Min": 10,                       // ARS发送码率下限
* "BR Max": 2000,                     // ARS发送码率上限
* "FR Min": 1,                        // ARS发送帧速率下限
* "FR Max": 30,                       // ARS发送帧速率上限
* "Res. Ctrl": off,                   // 是否允许分辨率控制
* "Res. Mode": 0,                     // 分辨率Mode
* "Fr Ctrl": on,                      // 是否允许帧速率控制
* "CPU Load Ctrl": off,               // 是否允许CPU控制
* "Target": 80,                       // CPU控制的最大使用率
* "Bw Efficient": off,                // 是否采用节省带宽模式
* "Error Conceal": off,               // 是否允许错误隐藏技术,在解码出错的时候采用
* "Enhance color": off,               // 是否采用颜色增强技术
* "Boost bright": off,                // 是否采用亮度增强技术
* "Boost contrast": off,              // 是否采用对比度增强技术
* "RTP Ext": CVO,                     // 使用的RTP扩展的类型
* "Render Name": N/A,                 // 渲染图像的名字
* "SVC": "320 180 250 640 360 600 1280 720 1400",     // 会议SVC配置
* "TemporalLayers": 4,                // 取值1、2、3、4,会议时间层设置
* "PreferMode":Clear                  // 偏好设置
* }
* },
* "Network":                                  // 网络统计信息
* {
* "Send Statistic:                        // 数据发送统计信息
* {
* "Packets": 181|1305|0|0,            // 发送的数据包的个数。正常包个数 | 探测包个数 | RED包个数 | NACK包个数
* "RTT": 4,                           // 网络双向延时的时间,单位为毫秒
* "Jitter": 2,                        // 网络的扰动,表征数据包抖动的时间,单位毫秒
* "Lost": 2,                          // 丢失的数据包的个数
* "LostRate": 0,                      // 当前的丢包率,单位百分比
* "RelayLost": 0,                     // 服务器转发丢包率
* "RelayRtt": 0,                      // 服务器转发往返时延,单位为毫秒
* "BitRate/BWE": 16/1345,             // BitRate表示当前发送的数据包的码率,单位kbps;BWE表示当前发送带宽的估计值
* "AudioSend": 0|0,                   // 实际发送音频包次数|估计发送音频包次数
* "VideoSend": 0|0,                   // 实际发送视频包次数|估计发送视频包次数
* "ScreenSend": 0|0,                  // 实际发送屏幕共享包次数|估计发送屏幕共享包次数
* "MaxPredKbps": 100,                 // 发送最大需求码率
* "Server(102679111220103708)": [2211(1): BWE(1345|697) LOSS(0|0) OUT(A:37) IN(A:0;)] // 选用的第一个服务器
* },
* "Recv Statistic":                       // 数据接收统计信息
* {
* "Packets": 1423|675|0|0,            // 收到的数据包的个数。正常包个数 | 探测包个数 | RED包个数 | NACK包个数
* "Jitter": 1,                        // 网络的扰动,表征数据包乱序的时间,单位毫秒
* "Lost": 0,                          // 丢失的数据包的个数
* "Lost Ratio": 0,                    // 当前的丢包率,单位百分比
* "BitRate/BWE":178/2291,             // BitRate表示当前接收的数据包的码率,单位kbps;BWE表示当前接收带宽的估计值
* "Server(102679111220103708)": [2211(3): BWE(1979|2150) LOSS(0|0) OUT(A:37;FPS:24,FEC:10,SUB:00f0=3456) IN(A:17;V:2273=2211[00f0]2273)] // 选用的第一个服务器
* },
* }
* "Transport":                                // 运输通道
* {
* "Local": 2.1923737535:32414,            // 本地地址
* "Remote": 2:11023,                      // 远端地址
* "LastPaths": 2,2,                       // 最后使用通道
* "Path": 2 [udp],                        // 通道名
* "Step1": Delay/Loss(S/R): 4/0/0,        // 通道质量
* "Cost": 7*(best: -1)                    // 通道分数
* },
* "Participants":
* {
* "2333":                                      // 成员为自己
* {
* "Audio Sending Stats":              // 音频发送数据统计
* {
* "Packets": 143,                 // 发送的数据包的个数
* "BitRate": 18.5,                // 发送的数据包的码率,单位kbps
* "FecPrecent": 0                 // 音频Fec保护百分比,N/A表示未开启FEC保护
* },
* "Video Sending Stats":              // 视频发送数据统计
* {
* "Packets": 19502,               // 发送的数据包的个数
* "Capture Res": 640x360,         // 视频采集分辨率
* "Capture Fr": 30,               // 视频采集帧率
* "FPS/IDR": [0|0|24|0]/3,        // 当前视频发送帧速/已发送的视频关键帧数
* "Resolution": 1280x720[0|0|0],  // 当前发送图像最大尺寸。[]中为每种尺寸的帧率,取值范围为0到f(十六进制),0表示该层视频未被发送, 值越大表示该层视频帧率越高;
* "Bitrate/Setrate": 0/2250,      // Bitrate表示当前发送的数据包的码率,单位kbps; Setrate表示视频编码的目标码率,单位kbps。
* "QP": 20,                       // 发送当前图像的量化步长(0-51),越小图像画质越好。
* "EncodeTime": 10,               // 当前编码时间,可以体现终端编码时占用的CPU性能,越大表示CPU占有越高,单位毫秒
* "Codec": H264-SVC,              // 采用的编解码类型
* "FecPrecent": 20                // 视频Fec保护百分比,N/A表示未开启FEC保护
* },
* "Be Subscribed Stats":              // 被订阅统计信息
* {
* "Audio": true,                  // 音频是否被订阅
* "Video": [0|0|F|0]              // [S0|S1|S2|S3]表示4个空间层被订阅
* },
* "Publish Stats":                    // 当前音视频发布状态
* {
* "Audio": true,                  // 当前音频发布状态
* "Video": true                   // 当前视频发布状态
* }
* },
* "6666":                                 // 成员不是自己
* {
* "Audio Receiving Stats":            // 音频接收统计信息
* {
* "Packets": 40243,               // 接收的数据包的个数
* "BitRate": 18.5,                // 当前接收的数据包的码率,单位kbps。
* "EpdRate/lr/dc": 0/0/0,         // expand rate/loss rate/discard rate。neteq buffer中的扩展比例/丢包比例/丢弃比例
* },
* "Video Receiving Stats":            // 视频接收统计信息
* {
* "Packets": 19502,               // 接收的数据包的个数
* "BitRate": 161,                 // 当前发送的数据包的码率,单位kbps
* "FPS/FIR": 24/0,                // 当前视频接收帧率/视频关键帧请求个数
* "Resolution": 1280x720,         // 当前接收分辨率
* "Render FR": 24,                // 当前渲染帧速率
* "Codec": H264-SVC,              // 采用的编解码类型
* "PvMos": 4.9,                   // 表示过去5s平均流畅度MOS分,每5s更新一次。体现视频画面的流畅程度。1到5分,1分最差,5分最好
* "SMOS": 5,                      // 表示当前清晰度MOS分。体现视频画面的清晰程度。1到5分,1分最差,5分最好。前5s是0,是正常现象,因为PvMos还没有值
* },
* "Subscribed Stats":                 // 订阅统计信息
* {
* "Channel Audio": true,          // 当前是否发布音频
* "Audio": true,                  // 当前音频订阅状态
* "Video": [0|0|F|0]              // [S0|S1|S2|S3]表示4个空间层被订阅
* }
* }
* }
* }
* 

◆ getSupportVideoSizes()

abstract List< JRTCVideoSize > getSupportVideoSizes ( )
abstract

获取房间支持的视频分辨率列表

返回
房间视频分辨率列表

◆ getTitle()

abstract String getTitle ( )
abstract

获取房间标题

返回
房间标题

◆ getUploadLocalAudio()

abstract boolean getUploadLocalAudio ( )
abstract

获取本地音频数据是否在上传

返回
是否上传音频数据
  • true: 上传中
  • false: 未上传

◆ getUploadLocalVideo()

abstract boolean getUploadLocalVideo ( )
abstract

获取本地视频数据是否在上传

返回
是否在上传本地视频数据
  • true: 上传中
  • false: 未上传

◆ inviteSipUser()

abstract int inviteSipUser ( JRTCSipInviteParam  sipParam)
abstract

邀请Sip用户,一般用于对接落地网关等

参数
sipParam邀请sip用户入会的配置参数,详见 JRTCSipInviteParam
返回
接口调用结果

◆ isLocalRecording()

abstract boolean isLocalRecording ( )
abstract

获取是否正在本地录制

返回
是否正在本地录制
  • true: 本地录制中
  • false: 未进行本地录制

◆ isNotifyVolumeChange()

abstract boolean isNotifyVolumeChange ( )
abstract

获取是否上报音量变化

返回
是否上报音量变化

◆ isSubScreenShare()

abstract boolean isSubScreenShare ( )
abstract

获取是否订阅屏幕共享

返回
返回屏幕共享是否订阅

◆ isSuspendScreenShare()

abstract boolean isSuspendScreenShare ( )
abstract

是否屏幕共享暂停

返回
- true: 暂停屏幕共享
  • false: 未暂停屏幕共享

◆ join()

abstract boolean join ( String  roomId,
JRTCRoomJoinParam  joinParam 
)
abstract

加入房间

该方法让用户加入通话房间,在同一个房间内的用户可以互相通话。
如果用户已在房间中,必须退出当前房间,即处于空闲状态,才能进入其他房间,否则将直接返回 false,且不会收到回调通知。

参数
roomId房间标识
joinParamJRTCRoomJoinParam 对象,传 null 则使用默认配置
返回
接口调用结果
  • true: 接口调用成功,会收到 onJoin 回调
  • false: 接口调用异常
参见
JRTCRoomJoinParam

◆ joinEx()

abstract boolean joinEx ( String  roomId,
String  businessId,
int  role 
)
abstractprotected

加入房间

参数
roomId房间标识
businessId业务流水号
role参与通话的角色
返回
接口调用结果
  • true: 接口调用成功,结果通过 onJoin 回调通知
  • false: 接口调用异常

◆ kickUser()

abstract boolean kickUser ( String  userId)
abstract

把成员踢出房间

参数
userId成员用户ID
返回
接口调用结果
  • true: 接口调用成功,非空闲状态下,会收到 onKickUserResult 回调
  • false: 接口调用异常

◆ leave()

abstract boolean leave ( )
abstract

离开房间

返回
接口调用结果
  • true: 接口调用成功,非空闲状态下,会收到 onLeave 回调
  • false: 接口调用异常

◆ query()

abstract int query ( String  roomId)
abstract

查询房间相关信息

调用此接口可以查询房间相关信息,例如房间是否存在,房间人数等,结果通过 onQuery 回调通知

参数
roomId房间标识
返回
操作id,与 onQuery 回调中的 operationId 对应

◆ requestScreenVideo()

abstract boolean requestScreenVideo ( JRTCVideoSize  videoSize)
abstract

订阅屏幕共享的视频流

参数
videoSize视频请求的尺寸
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ requestVideo()

abstract boolean requestVideo ( JRTCRoomParticipant  participant,
JRTCVideoSize  videoSize 
)
abstract

订阅房间中其他用户的视频流

参数
participantJRTCRoomParticipant 成员对象
videoSize视频请求的尺寸,详见 JRTCVideoSize
返回
接口调用结果

◆ sendAudioEmptyPack()

abstract boolean sendAudioEmptyPack ( boolean  empty)
abstract

发送音频空包

该接口不会导致成员的 audio 属性变化,发送音频空包不代表停止发送音频流。

参数
empty音频发送包是否为空包
  • true: 发送音频空包
  • false: 发送正常音频包
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ sendMessage()

abstract boolean sendMessage ( String  type,
String  content,
String  toUserId 
)
abstract

发送房间消息,消息内容不能大于4K

消息接收方都会收到 onMessageReceived 回调

参数
type消息类型
content消息内容
toUserId指定成员的用户ID,传 null 即给通话中全部成员发送消息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ sendVideoEmptyPack()

abstract boolean sendVideoEmptyPack ( boolean  empty)
abstract

发送视频空包

该接口不会导致成员的 video 属性变化,发送视频空包不代表停止发送视频流。

参数
empty视频发送包是否为空包
  • true: 发送视频空包
  • false: 发送正常视频包
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setCustomProperty()

abstract boolean setCustomProperty ( String  key,
String  value 
)
abstract

设置房间属性

参数
value自定义属性的value值
key自定义属性的key值
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setNotifyVolumeChange()

abstract void setNotifyVolumeChange ( boolean  b)
abstract

设置是否上报音量变化,音量变化会比较频繁,默认为 true,不需要则设置为 false

参数
b是否上报音量变化

◆ setRatio()

abstract boolean setRatio ( float  ratio)
abstract

设置本端视频宽高比

将自己的视频采集根据宽高比裁剪后进行发送,通话中其他成员收到的画面将是裁剪后的比例。
该方法不影响其他成员的画面在本端的显示比例,也不影响其他成员相互之间的画面显示比例。
必须 加入房间后 设置才能生效,即收到 onJoin 回调后设置才生效。

参数
ratio视频宽高比
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setSubScreenShare()

abstract boolean setSubScreenShare ( boolean  enable)
abstract

设置是否订阅屏幕共享

参数
enable是否订阅屏幕共享
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setUseExternalScreenCaptureControl()

abstract void setUseExternalScreenCaptureControl ( boolean  useExternalControl)
abstract

设置是否由应用层自行控制屏幕采集逻辑,默认 false,由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑,比如加入房间时开启屏幕共享自动开启屏幕采集,关闭屏幕共享或者离开房间时时自动关闭屏幕采集。

参数
useExternalControl是否由应用层自行控制屏幕采集逻辑
  • true 由应用层自行调用 enableScreenCapture 接口控制屏幕采集开启/关闭逻辑。
  • false 由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑。

◆ setVideoDot()

abstract boolean setVideoDot ( String  timespan,
String  info 
)
abstract

视频打点

参数
timespan时间戳
info打点信息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ suspendAudioInputFromFile()

abstract boolean suspendAudioInputFromFile ( boolean  suspend)
abstract

暂停/继续本地文件音频源输入

参数
suspend- true 暂停
  • false 继续
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用异常
弃用:
该接口即将废弃,请使用 suspendAudioInputFromFile 替换

◆ suspendScreenShare()

abstract boolean suspendScreenShare ( boolean  suspend,
String  tip 
)
abstract

暂停/继续屏幕共享

参数
suspendtrue 暂停屏幕共享, false 继续屏幕共享
tip暂停屏幕共享后提示文字
返回
接口调用结果
注解
只有自己发起的屏幕共享可以使用该接口暂停,多次调用会覆盖

◆ unRequestScreenVideo()

abstract boolean unRequestScreenVideo ( )
abstract

取消订阅屏幕共享的视频流

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ unRequestVideo()

abstract boolean unRequestVideo ( JRTCRoomParticipant  participant)
abstract

取消订阅房间中其他用户的视频流

参数
participantJRTCRoomParticipant 房间中其他成员对象
返回
调用是否正常
  • true: 正常执行调用流程,会收到 onParticipantUpdate 回调
  • false: 调用失败,不会收到回调通知

◆ updateLocalRecordLayout()

abstract boolean updateLocalRecordLayout ( List< RecordLayout layoutList)
abstract

更新本地录制自定义布局

参数
layoutList需要更新的布局列表
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ updateRemoteRecordLayout()

abstract boolean updateRemoteRecordLayout ( List< JRTCRecordRemoteParam.RecordLayout >  layoutList)
abstract

更新远程录制自定义布局

参数
layoutList需要更新的布局列表
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ updateRemoteRecordWatermark()

abstract boolean updateRemoteRecordWatermark ( Map< String, String >  watermarkTextMap)
abstract

更新远程录制水印信息

参数
watermarkTextMap水印信息
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

类成员变量说明

◆ DEFINITION_CUSTOM

final int DEFINITION_CUSTOM = 0
static

自定义

◆ DEFINITION_FLUENCY_FRAME_HIGH

final int DEFINITION_FLUENCY_FRAME_HIGH = 2
static

流畅模式,高帧率 svc: 1 90 70 180 180 360 480 最大帧率: 24fps

◆ DEFINITION_FLUENCY_FRAME_LOW

final int DEFINITION_FLUENCY_FRAME_LOW = 1
static

流畅模式,低帧率 svc: 1 90 50 180 130 360 360 最大帧率: 15fps

◆ DEFINITION_HIGH_FRAME_HIGH

final int DEFINITION_HIGH_FRAME_HIGH = 6
static

高清模式,高帧率 svc: 1 180 180 360 480 720 1350 1080 2200 最大帧率: 24fps

◆ DEFINITION_HIGH_FRAME_LOW

final int DEFINITION_HIGH_FRAME_LOW = 5
static

高清模式,低帧率 svc: 1 180 130 360 360 720 900 1080 1600 最大帧率: 15fps

◆ DEFINITION_STANDARD_FRAME_HIGH

final int DEFINITION_STANDARD_FRAME_HIGH = 4
static

标清模式,高帧率 svc: 1 90 70 180 180 360 480 720 1350 最大帧率: 24fps

◆ DEFINITION_STANDARD_FRAME_LOW

final int DEFINITION_STANDARD_FRAME_LOW = 3
static

标清模式,低帧率 svc: 1 90 50 180 130 360 360 720 900 最大帧率: 15fps

◆ PARTICIPANT_TYPE_AI

final int PARTICIPANT_TYPE_AI = 5
static

AI CD成员

◆ PARTICIPANT_TYPE_IRC

final int PARTICIPANT_TYPE_IRC = 4
static

录制器成员(录制和推流),该类型成员不会上报给上层应用

◆ PARTICIPANT_TYPE_NORMAL

final int PARTICIPANT_TYPE_NORMAL = 1
static

普通成员

◆ PARTICIPANT_TYPE_PSTN

final int PARTICIPANT_TYPE_PSTN = 2
static

PSTN成员

◆ PARTICIPANT_TYPE_VIEWER

final int PARTICIPANT_TYPE_VIEWER = 0
static

观众(无感加入成员)

◆ PARTICIPANT_TYPE_WEBRTC

final int PARTICIPANT_TYPE_WEBRTC = 3
static

Webrtc成员

◆ SECURITY_TYPE_DISABLE

final int SECURITY_TYPE_DISABLE = 0
static

不加密

◆ SECURITY_TYPE_SM4

final int SECURITY_TYPE_SM4 = 2
static

SM4

◆ SECURITY_TYPE_SRTP

final int SECURITY_TYPE_SRTP = 1
static

SRTP