监听房间事件

更新时间: 2023/10/26 09:52:50

加入房间后,请增加 NERoom 房间的监听事件,便于及时获取相应的回调信息。

注意事项

需要在加入房间后进行事件监听。

事件列表

分类 事件 描述
房间管理 onRoomEnded 房间结束的回调
onRoomPropertiesChanged 房间属性更新事件回调
onRoomPropertiesDeleted 房间属性删除事件回调
onRoomLockStateChanged 房间锁定状态变更事件回调
onRoomNameChanged 房间名称已变更的回调
onRoomExtChanged 房间扩展信息变更的回调
onRoomConnectStateChanged 房间连接状态改变的回调。IM 或 RTC 断开时,触发disconnect 状态,IM 和 RTC重连成功后,触发 reconnect 状态
成员管理 onMemberJoinRoom 成员进入房间的回调
onMemberLeaveRoom 成员离开房间的回调
onMemberJoinChatroom 成员加入聊天室的回调
onMemberLeaveChatroom 成员离开聊天室的回调
onMemberRoleChanged 成员角色变更的回调
onMemberNameChanged 成员昵称变更事件回调
onMemberPropertiesChanged 成员属性更新事件回调
onMemberPropertiesDeleted 成员属性删除事件回调
onMemberExtChanged 成员扩展信息变更回调
音视频通话 onMemberJoinRtcChannel 成员加入 RTC 频道的回调
onMemberLeaveRtcChannel 成员离开 RTC 频道的回调
onRtcChannelError RTC 频道错误的回调
onMemberScreenShareStateChanged 成员屏幕共享状态的回调
onMemberAudioMuteChanged 成员音频状态的回调
onMemberVideoMuteChanged 成员视频状态的回调
互动白板 onMemberWhiteboardStateChanged 白板共享状态的回调
即时消息 onReceiveChatroomMessages 聊天室消息的回调
直播 onRoomLiveStateChanged 直播状态变更事件回调

配置步骤

  1. 调用 getRoomContext 接口获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 addRoomListener 接口监听房间里的事件。

示例代码

swift    class RoomController: UIViewController {
        func viewDidLoad() {
            super.viewDidLoad()
            // 获取roomContext
            guard let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID") {
                return
            }
            // 添加监听
            roomContext.addAuthListener(listener: NEAuthListener)
        }
    }

    extension RoomController: NERoomListener {
        // 成员角色变更
        func onMemberRoleChanged(member: NERoomMember,oldRole: NERoomRole,newRole: NERoomRole) {}
        // 成员加入房间
        func onMemberJoinRoom(members: [NERoomMember]) {}
        // 成员离开房间
        func onMemberLeaveRoom(members: [NERoomMember]) {}
        // 房间结束
        func onRoomEnded(reason: NERoomEndReason) {}
        // 成员加入音视频房间
        func onMemberJoinRtcChannel(members: [NERoomMember]) {}
        // 成员离开音视频房间
        func onMemberLeaveRtcChannel(members: [NERoomMember]) {}
        // 音视频频道出错
        func onRtcChannelError(code: Int) {}
        // 成员加入聊天室
        func onMemberJoinChatroom(members: [NERoomMember]) {}
        // 成员离开聊天室
        func onMemberLeaveChatroom(members: [NERoomMember]) {}
        // 成员音频状态变更 mute参数 true:关闭 false: 开启
        func onMemberAudioMuteChanged(member: NERoomMember, mute: Bool, operateBy: NERoomMember?) {}
        // 成员视频状态变更 mute参数 true:关闭 false: 开启
        func onMemberVideoMuteChanged(member: NERoomMember, mute: Bool, operateBy: NERoomMember?) {}
        // 成员屏幕共享状态变更 isSharing参数 true: 开启,false: 关闭
        func onMemberScreenShareStateChanged(member: NERoomMember, isSharing: Bool) {}
        // 聊天室消息回调
        func onReceiveChatroomMessages(messages: [NERoomChatMessage]) {}
        // 成员白板共享状态变更 isSharing参数 true:打开,false: 关闭
        func onMemberWhiteboardStateChanged(member: NERoomMember, isSharing: Bool,operateBy: NERoomMember?) {}
        // 白板异常
        func onWhiteboardError(code: Int, message: String) {}
        //直播状态变更事件回调
        func onRoomLiveStateChanged(state: NERoomLiveState)
        //房间属性变更
        func onRoomPropertiesChanged(properties: [String: String]) {}
        func onRoomPropertiesDeleted(properties: [String: String]) {}
        //成员属性变更
        func onMemberPropertiesChanged(member: NERoomMember, properties: [String: String]) {}
        func onMemberPropertiesDeleted(member: NERoomMember, properties: [String: String]) {}
        //成员昵称变更事件回调
        func onMemberNameChanged(member: NERoomMember)
        //房间锁定状态变更
        func onRoomLockStateChanged(isLocked: Bool)
    }
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 事件列表
  • 配置步骤
  • 示例代码