TUIRoomObserver

Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomObserver @ TUIKitEngine
Function: TUIRoomEngine的事件回调接口

TUIRoomObserver

TUIRoomObserver

函数列表
描述
错误事件回调
用户被踢下线
用户凭证超时事件
房间名称更改事件
房间内所有用户麦克风被禁用事件
房间内所有用户摄像头被禁用事件
房间内所有用户屏幕分享被禁用事件
房间内用户发送文本消息被禁用事件
房间被解散事件
被踢出房间事件
房间上麦模式发生变化
房间内人员数量发生变化
房间内自定义信息发生变化
远端用户进房事件
远端用户离开房间事件
房间内用户信息发生变化事件。
用户视频状态发生变化事件
用户音频状态发生变化事件
用户音量变化事件
用户文本消息发送能力发生变化事件
用户网络状态变化事件
屏幕分享结束
房间内最大麦位数发生变化事件(仅在会议类型房间生效)
麦位列表发生变化事件
收到用户被踢下麦事件
收到请求消息事件
收到请求被取消的事件
收到请求被其他 管理员/房主 处理事件
本地设备添加事件
房间被解散事件
用户角色发生变化事件
用户角色发生变化事件
收到用户被踢下麦事件
收到请求被取消的事件
收到请求被其他 管理员/房主 处理事件

onError:message:

onError:message:
- (void)onError:
(TUIError)errorCode
message:
(NSString *)message

错误事件回调

参数
描述
errorCode
错误码,请参见:TUIError
message
错误信息。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当发生错误事件时触发,表示 SDK 抛出的不可恢复的错误,例如进入房间失败或设备开启失败等。

onKickedOffLine:

onKickedOffLine:
- (void)onKickedOffLine:
(NSString *)message

用户被踢下线

参数
描述
message
被踢下线的描述。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户被踢下线时触发。

onUserSigExpired

onUserSigExpired

用户凭证超时事件

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
用户的凭证过期时触发。

onRoomNameChanged:roomName:

onRoomNameChanged:roomName:
- (void)onRoomNameChanged:
(NSString *)roomId
roomName:
(NSString *)roomName

房间名称更改事件

参数
描述
roomId
房间ID。
roomName
房间名称。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
房间名称改变时触发。

onAllUserMicrophoneDisableChanged:isDisable:

onAllUserMicrophoneDisableChanged:isDisable:
- (void)onAllUserMicrophoneDisableChanged:
(NSString *)roomId
isDisable:
(BOOL)isDisable

房间内所有用户麦克风被禁用事件

参数
描述
isDisable
是否被禁用。
roomId
房间ID。
注意
此函数仅支持会议房间类型(TUIRoomTypeConference)。
所有用户的麦克风禁用状态改变时触发。

onAllUserCameraDisableChanged:isDisable:

onAllUserCameraDisableChanged:isDisable:
- (void)onAllUserCameraDisableChanged:
(NSString *)roomId
isDisable:
(BOOL)isDisable

房间内所有用户摄像头被禁用事件

参数
描述
isDisable
是否被禁用。
roomId
房间ID。
注意
此函数仅支持会议房间类型(TUIRoomTypeConference)。
所有用户的摄像头禁用状态改变时触发。

onScreenShareForAllUserDisableChanged:isDisable:

onScreenShareForAllUserDisableChanged:isDisable:
- (void)onScreenShareForAllUserDisableChanged:
(NSString *)roomId
isDisable:
(BOOL)isDisable

房间内所有用户屏幕分享被禁用事件

参数
描述
isDisable
是否被禁用。
roomId
房间ID。
注意
此函数仅支持会议房间类型(TUIRoomTypeConference)。
所有用户的屏幕共享权限改变时触发。

onSendMessageForAllUserDisableChanged:isDisable:

onSendMessageForAllUserDisableChanged:isDisable:
- (void)onSendMessageForAllUserDisableChanged:
(NSString *)roomId
isDisable:
(BOOL)isDisable

房间内用户发送文本消息被禁用事件

参数
描述
isDisable
是否被禁用。
roomId
房间ID。
注意
此函数仅支持会议房间类型(TUIRoomTypeConference)。
所有用户的发送消息权限改变时触发。

onRoomDismissed:reason:

onRoomDismissed:reason:
- (void)onRoomDismissed:
(NSString *)roomId
reason:

房间被解散事件

参数
描述
reason
房间解散原因,请参见:TUIRoomDismissedReason
roomId
房间ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
房间被解散时触发。

onKickedOutOfRoom:reason:message:

onKickedOutOfRoom:reason:message:
- (void)onKickedOutOfRoom:
(NSString *)roomId
reason:
message:
(NSString *)message

被踢出房间事件

参数
描述
message
被踢出的描述。
reason
被踢出原因。
roomId
房间ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
用户被房主/管理员踢出房间触发。

onRoomSeatModeChanged:seatMode:

onRoomSeatModeChanged:seatMode:
- (void)onRoomSeatModeChanged:
(NSString *)roomId
seatMode:
(TUISeatMode)seatMode

房间上麦模式发生变化

参数
描述
roomId
房间ID。
seatMode
上麦模式。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
房间上麦模式发生变化时触发

onRoomUserCountChanged:userCount:

onRoomUserCountChanged:userCount:
- (void)onRoomUserCountChanged:
(NSString *)roomId
userCount:
(NSInteger)userCount

房间内人员数量发生变化

参数
描述
roomId
房间ID。
userCount
人员数量。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
房间内人数发生变化时触发。

onRoomMetadataChanged:value:

onRoomMetadataChanged:value:
- (void)onRoomMetadataChanged:
(NSString *)key
value:
(NSString *)value

房间内自定义信息发生变化

参数
描述
key
房间自定义信息 key
value
房间自定义信息 value
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
房间自定义信息改变时触发。

onRemoteUserEnterRoom:userInfo:

onRemoteUserEnterRoom:userInfo:
- (void)onRemoteUserEnterRoom:
(NSString *)roomId
userInfo:
(TUIUserInfo *)userInfo

远端用户进房事件

参数
描述
roomId
房间ID。
userInfo
用户信息。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
远端用户进入房间时触发。

onRemoteUserLeaveRoom:userInfo:

onRemoteUserLeaveRoom:userInfo:
- (void)onRemoteUserLeaveRoom:
(NSString *)roomId
userInfo:
(TUIUserInfo *)userInfo

远端用户离开房间事件

参数
描述
roomId
房间ID。
userInfo
用户信息。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
远端用户离开房间时触发。

onUserInfoChanged:modifyFlag:

onUserInfoChanged:modifyFlag:
- (void)onUserInfoChanged:
(TUIUserInfo *)userInfo
modifyFlag:
(TUIUserInfoModifyFlag)modifyFlag

房间内用户信息发生变化事件。

参数
描述
modifyFlag
用户信息参数变更Key, 可参考TUIUserInfoModifyFlag
userInfo
用户信息。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当房间内用户信息发生变化时触发。

onUserVideoStateChanged:streamType:hasVideo:reason:

onUserVideoStateChanged:streamType:hasVideo:reason:
- (void)onUserVideoStateChanged:
(NSString *)userId
streamType:
(TUIVideoStreamType)streamType
hasVideo:
(BOOL)hasVideo
reason:
(TUIChangeReason)reason

用户视频状态发生变化事件

参数
描述
hasVideo
是否有视频流。
reason
视频流发生变化原因 TUIChangeReasonBySelf: 自己切换 TUIChangeReasonByAdmin: 被管理员切换。
streamType
视频流类型。
userId
用户ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的视频状态改变时触发。

onUserAudioStateChanged:hasAudio:reason:

onUserAudioStateChanged:hasAudio:reason:
- (void)onUserAudioStateChanged:
(NSString *)userId
hasAudio:
(BOOL)hasAudio
reason:
(TUIChangeReason)reason

用户音频状态发生变化事件

参数
描述
hasAudio
是否有音频流。
reason
视频流发生变化原因 TUIChangeReasonBySelf: 自己切换 TUIChangeReasonByAdmin: 被管理员切换。
userId
用户ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的音频状态改变时触发。

onUserVoiceVolumeChanged

onUserVoiceVolumeChanged

用户音量变化事件

参数
描述
volumeMap
用户音量字典 key: userId, value: 用于承载所有正在说话的用户的音量大小,取值范围 0 - 100。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的音量改变时触发。

onSendMessageForUserDisableChanged:userId:isDisable:

onSendMessageForUserDisableChanged:userId:isDisable:
- (void)onSendMessageForUserDisableChanged:
(NSString *)roomId
userId:
(NSString *)userId
isDisable:
(BOOL)muted

用户文本消息发送能力发生变化事件

参数
描述
isDisable
是否被禁止发送文本消息 YES: 用户被禁止发送消息 NO: 用户被解除禁止,可以发送消息。
userId
用户ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的发送消息权限改变时触发。

onUserNetworkQualityChanged:

onUserNetworkQualityChanged:
- (void)onUserNetworkQualityChanged:
(NSArray<TUINetworkInfo *> *)networkList

用户网络状态变化事件

参数
描述
networkList
用户网络状态数组,可参见 TUINetworkInfo 对象。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的网络质量改变时触发。

onUserScreenCaptureStopped:

onUserScreenCaptureStopped:
- (void)onUserScreenCaptureStopped:
(NSInteger)reason

屏幕分享结束

参数
描述
reason
停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止;2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
用户的屏幕分享停止时触发。

onRoomMaxSeatCountChanged:maxSeatNumber:

onRoomMaxSeatCountChanged:maxSeatNumber:
- (void)onRoomMaxSeatCountChanged:
(NSString *)roomId
maxSeatNumber:
(NSInteger)maxSeatNumber

房间内最大麦位数发生变化事件(仅在会议类型房间生效)

参数
描述
maxSeatCount
房间内最大麦位数量。
roomId
房间ID。

onSeatListChanged:seated:left:

onSeatListChanged:seated:left:
- (void)onSeatListChanged:
(NSArray<TUISeatInfo *> *)seatList
seated:
(NSArray<TUISeatInfo *> *)seatedList
left:
(NSArray<TUISeatInfo *> *)leftList

麦位列表发生变化事件

参数
描述
leftList
新下麦的用户列表。
seatList
目前麦上最新的用户列表,包含新上麦的用户。
seatedList
新上麦的用户列表。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当麦位列表改变时触发。

onKickedOffSeat:operateUser:

onKickedOffSeat:operateUser:
- (void)onKickedOffSeat:
(NSInteger)seatIndex
operateUser:
(TUIUserInfo *)operateUser

收到用户被踢下麦事件

参数
描述
operateUser
操作踢人的(主持人/管理员)用户信息。
seatIndex
麦位编号。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户被踢下麦时触发。

onRequestReceived:

onRequestReceived:
- (void)onRequestReceived:
(TUIRequest *)request

收到请求消息事件

参数
描述
request
请求内容,可参见 TUIRequest 对象。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当收到其他用户的请求时触发。

onRequestCancelled:operateUser:

onRequestCancelled:operateUser:
- (void)onRequestCancelled:
(TUIRequest *)request
operateUser:
(TUIUserInfo *)operateUser

收到请求被取消的事件

参数
描述
operateUser
取消信令的用户信息。
request
请求内容,可参见 TUIRequest 对象。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当其他用户取消请求时触发。

onRequestProcessed:operateUser:

onRequestProcessed:operateUser:
- (void)onRequestProcessed:
(TUIRequest *)request
operateUser:
(TUIUserInfo *)operateUser

收到请求被其他 管理员/房主 处理事件

参数
描述
operateUser
取消信令的用户信息。
request
请求内容,可参见 TUIRequest 对象。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
收到请求被其他 管理员/房主 处理时触发。

onDeviceChanged:type:state:

onDeviceChanged:type:state:
- (void)onDeviceChanged:
(NSString *)deviceId
type:
(TUIMediaDeviceType)type
state:
(TUIMediaDeviceState)state

本地设备添加事件

参数
描述
deviceId
设备 ID。
state
通断状态,0:设备已添加;1:设备已被移除;2:设备已启用。
type
设备类型。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户的设备状态发生改变时触发,例如用户的麦克风或摄像头被打开或关闭。当本地设备(包括摄像头、麦克风以及扬声器)添加时,SDK 便会抛出此事件回调。
@deprecated v2.0 版本开始不推荐使用,建议使用{$TUIRoomDeviceManager$}中的onDeviceChanged代替。

onRoomDismissed:

onRoomDismissed:
- (void)onRoomDismissed:
(NSString *)roomId

房间被解散事件

参数
描述
roomId
房间ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当房间被解散时触发。此回调将于v2.8.0版本删除,建议您使用新的回调代替。
@deprecated v2.3.0 版本开始不推荐使用,建议使用带TUIRoomDismissedReasononRoomDismissed代替。

onUserRoleChanged:

onUserRoleChanged:
- (void)onUserRoleChanged:
(TUIUserInfo *)userInfo

用户角色发生变化事件

参数
描述
userInfo
用户信息。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户角色改变时触发。

onUserRoleChanged:userRole:

onUserRoleChanged:userRole:
- (void)onUserRoleChanged:
(NSString *)userId
userRole:
(TUIRole)userRole

用户角色发生变化事件

参数
描述
userId
用户ID。
userRole
用户角色 可参见 TUIRole 枚举定义。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。此回调将于v2.8.0版本删除,建议您使用新的回调代替。
当用户角色改变时触发。
@deprecated v2.3.0 版本开始不推荐使用,建议使用带TUIUserInfoonUserRoleChanged代替。

onKickedOffSeat:

onKickedOffSeat:
- (void)onKickedOffSeat:
(NSString *)userId

收到用户被踢下麦事件

参数
描述
userId
操作踢人的(主持人/管理员)用户id。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
当用户被踢下麦时触发。此回调将于v2.8.0版本删除,建议您使用新的回调代替。
@deprecated v2.3.0 版本开始不推荐使用,建议使用带TUIUserInfoonKickedOffSeat代替。

onRequestCancelled:userId:

onRequestCancelled:userId:
- (void)onRequestCancelled:
(NSString *)requestId
userId:
(NSString *)userId

收到请求被取消的事件

参数
描述
requestId
请求ID。
userId
取消信令的用户ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。此回调将于v2.8.0版本删除,建议您使用新的回调代替。
@deprecated v2.3.0 版本开始不推荐使用,建议使用带TUIRequestonRequestCancelled代替。
其他用户取消请求时触发。

onRequestProcessed:userId:

onRequestProcessed:userId:
- (void)onRequestProcessed:
(NSString *)requestId
userId:
(NSString *)userId

收到请求被其他 管理员/房主 处理事件

参数
描述
requestId
请求ID。
userId
管理员/房主 的用户ID。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。此回调将于v2.8.0版本删除,建议您使用新的回调代替。
收到请求被其他 管理员/房主 处理时触发。
@deprecated v2.3.0 版本开始不推荐使用,建议使用带TUIRequestonRequestProcessed代替。