多方通话房间管理类 JRoomManager

提供多方通话房间的核心管理功能,包括房间的创建、加入、离开和查询等操作,以及继承自通用管理器的登录、消息传输等基础功能。 该类采用单例模式,通过 JRoomManager.getInstance 方法获取全局唯一实例。 应用需要先登录系统才能使用房间相关功能,并通过添加 JRoomCallback 回调来接收房间状态变化通知。

// 获取房间管理器实例
const roomManager = JRoomManager.getInstance();

// 登录系统
const loginParam = new JCCLoginParam();
loginParam.userId = "user123";
loginParam.password = "password123";
roomManager.login(getContext(this).getApplicationContext(), loginParam);

// 添加回调
roomManager.addCallback(roomCallback);

// 加入房间
const joinParam = new JRoomJoinParam();
joinParam.video = true;
joinParam.capacity = 8;
roomManager.join("roomId123", joinParam);

// 查询房间信息
roomManager.query("roomId456");

// 离开房间
roomManager.leave();

Implements

Methods

  • 获取JRoomManager单例实例

    Returns JRoomManager

    JRoomManager实例

    如果实例不存在,则创建一个新实例并返回。 应用应始终通过此方法获取JRoomManager实例,而不是直接创建。

  • 设置应用前后台状态

    Parameters

    • foreground: boolean

      是否是前台

    Returns void

    当应用切换到前台或后台时调用此方法,用于优化资源使用和通知处理。

    • true:设置为前台状态
    • false:设置为后台状态
  • 设置UI上下文对象

    Parameters

    • uiContext: UIContext

      UI上下文对象

    Returns void

    如果设置了,我们的通话界面会往该对象获取的 Router 对象中添加页面

  • 设置 NavPathStack 实例

    Parameters

    • pathStack: any

      NavPathStack实例

    • navId: undefined | string

      Navigation容器绑定的id

    Returns void

    如果设置了,我们的通话界面会通过这个实例去进行路由跳转

  • 登录系统

    Parameters

    • applicationContext: ApplicationContext

      应用上下文

    • loginParam: JCCLoginParam

      登录参数

    Returns boolean

    接口调用结果

    登录系统,启动通信服务。 登录结果通过 JRoomCallback.onLogin 回调通知。

    • 返回true表示接口调用成功,等待回调通知结果
    • 返回false表示接口调用失败,不会有回调通知

    必须成功登录后才能使用其他房间相关功能。

  • 登出系统

    Returns boolean

    接口调用结果

    登出系统,停止通信服务。 登出结果通过 JRoomCallback.onLogout 回调通知。

    • 返回true表示接口调用成功,等待回调通知结果
    • 返回false表示接口调用失败,不会有回调通知

    登出后,所有房间相关功能将不可用,直到重新登录。

  • 销毁管理器实例

    Returns void

    销毁实例,释放资源。 销毁实例后,不能再使用本实例,需要重新创建。

  • 获取当前登录状态

    Returns JClientState

    当前登录状态

    返回系统当前的登录状态。

    JClientState 可能的登录状态枚举

  • 发送在线消息

    Parameters

    • message: string

      消息内容

    • userId: string

      接收消息的用户ID

    Returns number

    操作ID或错误码

    向指定用户发送即时消息。 消息发送结果通过 JRoomCallback.onOnlineMessageSendResult 回调通知。

    • 返回大于0的值表示操作ID,对应回调中的operatorId参数
    • 返回-1表示调用异常,不会收到回调通知
  • 发送房间内消息

    Parameters

    • type: string

      消息类型

    • content: string

      消息内容

    • userId: string

      接收消息的用户ID,为空则发送给所有成员

    Returns boolean

    接口调用结果

    通过透明通道向房间内的成员发送消息。

    • 消息内容不能大于4KB
    • 返回true表示接口调用成功
    • 返回false表示接口调用失败

    仅在成功加入房间后可用。

  • 上传文件

    Parameters

    • param: JCCUploadFileParam

      文件上传参数

    Returns void

    将文件上传到服务器。 上传结果通过 JRoomCallback.onUploadFileResult 或 JRoomCallback.onUploadFileError 回调通知。

    JCCUploadFileParam 文件上传参数配置

  • 获取房间ID

    Returns undefined | string

    当前房间ID

    返回当前加入的房间标识符。 如未加入任何房间,则返回undefined。

  • 设置定制配置参数

    Parameters

    Returns void

    设置房间的定制化配置,如UI样式、功能开关等。 配置会立即生效,影响房间的行为和外观。

    JRoomCustomConfig 房间定制配置类

  • 设置视频旋转角度

    Parameters

    • angle: number

      视频旋转角度

    Returns void

    设置视频画面的旋转角度。 可用于适配不同的屏幕方向或摄像头安装角度。

  • 最小化房间窗口

    Returns void

    将当前房间窗口最小化显示。 通常用于多任务场景,允许用户同时处理其他事务。

  • 恢复房间窗口

    Returns void

    将最小化的房间窗口恢复到正常大小。 用于从最小化状态恢复房间窗口。

  • 获取SDK和底层库的版本信息

    Returns JCCVersion

    SDK版本信息对象

    返回包含各组件版本号的信息对象。 可用于兼容性检查、问题排查和日志记录。

    JCCVersion 版本信息类

  • 获取SDK版本

    Returns string

    SDK版本号

    获取当前SDK的版本号。

  • 开启/关闭远程协作

    Parameters

    • enable: boolean

      true: 开启

      • false: 关闭

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用失败
  • 获取JRTCClient实例

    Returns any

    JRTCClient实例

    获取JRTCClient实例,用于访问JRTCClient的API。

  • 获取JRTCMediaDevice实例

    Returns any

    获取JRTCMediaDevice实例

    获取JRTCMediaDevice实例,用于访问JRTCMediaDevice的API。

  • 获取JRTCRoom实例

    Returns any

    获取JRTCRoom实例

    获取JRTCRoom实例,用于访问JRTCRoom的API。

  • 添加房间回调监听

    Parameters

    Returns void

    添加一个事件回调监听器。 添加后将接收房间的各类事件通知,包括加入/离开结果、状态变化等。 同一个回调对象只能添加一次,重复添加无效。

    JRoomCallback 房间回调接口

  • 移除房间回调监听

    Parameters

    Returns void

    移除之前添加的事件回调监听器。 移除后将不再接收房间事件通知。

  • 查询房间相关信息

    Parameters

    • roomId: string

      房间标识

    Returns number

    操作ID

    查询指定房间的相关信息,例如房间是否存在、房间人数、成员列表等。 查询结果通过 JRoomCallback.onQuery 回调通知。

    返回值是操作ID,与回调中的operationId参数对应,用于关联查询请求和结果, 特别是在发起多个查询的情况下。

    JCCRoomQueryInfo 房间查询结果信息类

  • 加入房间

    Parameters

    • roomId: string

      房间标识

    • joinParam: JRoomJoinParam

      加入房间参数

    Returns boolean

    接口调用结果

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

    加入结果通过 JRoomCallback.onJoin 回调通知。

    • true: 接口调用成功,会收到回调
    • false: 接口调用异常,不会收到回调

    JRoomJoinParam 加入房间参数类

  • 离开房间

    Returns boolean

    接口调用结果

    退出当前加入的房间。 离开结果通过 JRoomCallback.onLeave 回调通知。

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

    如果当前未加入任何房间,调用此方法不会触发回调。

  • 获取房间状态

    Returns JRoomState

    当前房间状态

    返回当前房间的状态,例如空闲、加入中、已加入或离开中。

    JRoomState 房间状态枚举