监听房间事件
更新时间: 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 | 直播状态变更事件回调 |
配置步骤
-
调用
getRoomContext
接口获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
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)
}
此文档是否对你有帮助?