IRTSRoomEventHandler class
- Inheritance
-
- Object
- NativeClass
- NativeObserverClass
- IRTSRoomEventHandler
- Implementers
Properties
-
$instance
↔ dynamic
-
getter/setter pairinherited
-
$resource
→ NativeResource
-
no setterinherited
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
ready
→ Future<void>
-
Whether the instance is initialized
no setterinherited
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
destroy()
→ void
-
inherited
-
emit(String name, List args)
→ dynamic
-
inherited
-
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta])
→ Future<T>
-
Call instance method
inherited
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
onLeaveRoom(RTCRoomStats stats)
→ FutureOr<void>
-
@detail callback
@brief 离开房间成功回调。
用户调用 leaveRoom{@link #RTSRoom#leaveRoom} 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
@param stats 保留参数,目前为空。
@note
- 用户调用 leaveRoom{@link #RTSRoom#leaveRoom} 方法离开房间后,如果立即调用 destroy{@link #RTSRoom#destroy} 销毁房间实例或 destroyRTCEngine{@link #RTCEngine#destroyRTCEngine} 方法销毁 RTC 引擎,则将无法收到此回调事件。
- 离开房间后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备导致初始化失败。
-
onRoomBinaryMessageReceived(long msgid, String uid, ByteBuffer message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage{@link #RTSRoom#sendRoomBinaryMessage} 发送广播二进制消息时,收到此回调。
@param msgid 消息编号
@param uid 消息发送者 ID
@param message 收到的二进制消息内容
-
onRoomMessageReceived(long msgid, String uid, String message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage{@link #RTSRoom#sendRoomMessage} 发送广播消息时,收到此回调。
@param msgid 消息编号
@param uid 消息发送者 ID
@param message 收到的消息内容
-
onRoomMessageSendResult(long msgid, int error)
→ FutureOr<void>
-
@detail callback
@brief 调用 sendRoomMessage{@link #RTSRoom#sendRoomMessage} 或 sendRoomBinaryMessage{@link #RTSRoom#sendRoomBinaryMessage} 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
@param msgid 本条消息的 ID。
@param error 消息发送结果,详见 RoomMessageSendResult{@link #RoomMessageSendResult}
-
onRoomStateChanged(String roomId, String uid, int state, )
→ FutureOr<void>
-
@detail callback
@brief 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
@param roomId 房间 ID。
@param uid 用户 ID。
@param state 房间状态码。
- 0: 加入房间成功。
- !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ErrorCode{@link #ErrorCode} 及 WarningCode{@link #WarningCode}。
@param extraInfo 额外信息,如 {"elapsed":1187,"join_type":0}。
join_type 表示加入房间的类型,0为首次进房,1为重连进房。
elapsed 表示加入房间耗时,即本地用户从调用 joinRoom{@link #RTCRoom#joinRoom} 到加入房间成功所经历的时间间隔,单位为 ms。
-
onUserBinaryMessageReceived(long msgid, String uid, ByteBuffer message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到来自房间中其他用户通过 sendUserBinaryMessage{@link #RTSRoom#sendUserBinaryMessage} 发来的点对点二进制消息时,会收到此回调。
@param msgid 消息编号
@param uid 消息发送者的用户 ID。
@param message 收到的二进制消息内容。
-
onUserJoined(UserInfo userInfo)
→ FutureOr<void>
-
@detail callback
@brief 远端可见用户加入房间,或房内不可见用户切换为可见的回调。
1.远端用户调用 setUserVisibility{@link #RTCRoom#setUserVisibility} 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内隐身远端用户调用 setUserVisibility{@link #RTCRoom#setUserVisibility} 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的可见用户的进房回调通知。
@param userInfo 用户信息。参看 UserInfo{@link #UserInfo}。
-
onUserLeave(String uid, int reason)
→ FutureOr<void>
-
@detail callback
@brief 远端用户离开房间,或切至不可见时,房间内其他用户会收到此事件
@param uid 离开房间,或切至不可见的的远端用户 ID。
@param reason 用户离开房间的原因:
- 0: 远端用户调用 leaveRoom{@link #RTSRoom#leaveRoom} 主动退出房间。
- 1: 远端用户因 Token 过期或网络原因等掉线。详细信息请参看连接状态提示
- 2: 远端用户调用 setUserVisibility{@link #RTCRoom#setUserVisibility} 切换至不可见状态。
- 3: 服务端调用 OpenAPI 将该远端用户踢出房间。
-
onUserMessageReceived(long msgid, String uid, String message)
→ FutureOr<void>
-
@detail callback
@author hanchenchen.c
@brief 收到来自房间中其他用户通过 sendUserMessage{@link #RTSRoom#sendUserMessage} 发来的点对点文本消息时,会收到此回调。
@param msgid 消息编号
@param uid 消息发送者的用户 ID。
@param message 收到的文本消息内容。
-
onUserMessageSendResult(long msgid, int error)
→ FutureOr<void>
-
@detail callback
@brief 向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
@param msgid 本条消息的 ID。
@param error 文本或二进制消息发送结果,详见 UserMessageSendResult{@link #UserMessageSendResult}
@note 调用 sendUserMessage{@link #RTSRoom#sendUserMessage} 或 sendUserBinaryMessage{@link #RTSRoom#sendUserBinaryMessage} 接口,才能收到此回调。
-
registerEvent(String name, dynamic method)
→ void
-
inherited
-
sendInstanceGet<T>(String property)
→ Future<T>
-
Get instance property
inherited
-
sendInstancePropertiesGet(dynamic nativeClass)
→ Future<Map<String, dynamic>>
-
Get instance properties
inherited
-
sendInstanceSet(String property, dynamic value)
→ Future<void>
-
Set instance property
inherited
-
toString()
→ String
-
A string representation of this object.
inherited
-
updateInstance(dynamic instance)
→ void
-
inherited
-
updateResource(NativeResource resource)
→ void
-
inherited