Skip to main content
2.0.34 不再让 Meeting 事件继承底层 RTC 事件,也不保留旧 ImEventRoomEventUserEventMediaEvent 兼容层。事件按生命周期注册。

Engine 级事件

通过 MeetingEngine.set*Event() 注册,与 SDK 生命周期一致: 每个接口都有对应空实现:MeetingEngineSimpleEventMeetingImSimpleEventMeetingCameraDeviceSimpleEventMeetingMicDeviceSimpleEvent

Session 级事件

通过当前 MeetingSession.set*Event() 注册,只接收本次会议的事件: 主要 Meeting 接口也提供 MeetingRoomSimpleEventMeetingUserSimpleEventMeetingMediaSimpleEventMeetingRemoteVideoSimpleEventMeetingLocalVideoFrameSimpleEventMeetingLocalAudioFrameSimpleEvent,调用方只需覆写关心的方法。

线程契约

  • Engine、Session 业务、IM、设备、媒体统计和一次性结果回调运行在主线程。
  • 本地音视频帧、远端视频帧和远端视频接收状态运行在 RTC 媒体线程,不能直接更新 UI。
  • 音量 Map 和活跃说话人 List 在切换线程前已创建快照。
  • 本地帧只在显式设置监听时向 RTC 注册;使用完请传 null 取消监听,避免持续复制媒体数据。

生命周期约束

SDK 使用 channelId + generation 过滤旧频道迟到回调。Session 进入 LEAVINGCLOSED 后不再分发会中事件;新会议必须在新返回的 Session 上重新注册监听。