监听房间事件
更新时间: 2023/04/14 07:22:31
加入房间后,请增加 NERoom 房间的监听事件,便于及时获取相应的回调信息。
注意事项
需要在加入房间后进行事件监听。
事件列表
分类 | 事件 | 描述 |
---|---|---|
房间管理 | onRoomEnded | 房间结束的回调 |
onRoomPropertiesChanged | 房间属性更新事件回调 | |
onRoomPropertiesDeleted | 房间属性删除事件回调 | |
onRoomLockStateChanged | 房间锁定状态变更事件回调 | |
成员管理 | onMemberJoinRoom | 成员进入房间的回调 |
onMemberLeaveRoom | 成员离开房间的回调 | |
onMemberJoinChatroom | 成员加入聊天室的回调 | |
onMemberLeaveChatroom | 成员离开聊天室的回调 | |
onMemberNameChanged | 成员昵称变更事件回调 | |
onMemberPropertiesChanged | 成员属性更新事件回调 | |
onMemberPropertiesDeleted | 成员属性删除事件回调 | |
音视频通话 | onMemberJoinRtcChannel | 成员加入 RTC 频道的回调 |
onMemberLeaveRtcChannel | 成员离开 RTC 频道的回调 | |
onRtcChannelError | RTC 频道错误的回调 | |
onMemberRoleChanged | 成员角色变更的回调 | |
onMemberScreenShareStateChanged | 成员屏幕共享状态的回调 | |
onMemberAudioMuteChanged | 成员音频状态的回调 | |
onMemberVideoMuteChanged | 成员视频状态的回调 | |
onRtcRemoteAudioVolumeIndication | RTC 成员音量大小事件回调 | |
互动白板 | onMemberWhiteboardStateChanged | 白板共享状态的回调 |
即时消息 | onReceiveChatroomMessages | 聊天室消息的回调 |
直播 | onRoomLiveStateChanged | 直播状态变更事件回调 |
配置步骤
-
调用
getRoomContext
接口获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
addRoomListener
接口监听房间里的事件。
示例代码
class NERoomListener : public INERoomListener {
public:
NERoomListener();
~NERoomListener();
virtual void onMemberRoleChanged(const std::string& userUuid, const std::string& beforeRole, const std::string& afterRole) override;
virtual void onMemberJoinRoom(const std::vector<SharedMemberPtr>& members) override;
virtual void onMemberLeaveRoom(const std::vector<SharedMemberPtr>& members) override;
virtual void onRoomEnded(NERoomEndReason reason) override;
virtual void onMemberJoinRtcChannel(const std::vector<SharedMemberPtr>& members) override;
virtual void onMemberLeaveRtcChannel(const std::vector<SharedMemberPtr>& members) override;
virtual void onMemberJoinChatroom(const std::vector<SharedMemberPtr>& members) override;
virtual void onMemberLeaveChatroom(const std::vector<SharedMemberPtr>& members) override;
virtual void onMemberAudioMuteChanged(const SharedMemberPtr& member, bool mute, const SharedMemberPtr& trigger) override;
virtual void onMemberVideoMuteChanged(const SharedMemberPtr& member, bool mute, const SharedMemberPtr& trigger) override;
virtual void onMemberScreenShareStateChanged(const SharedMemberPtr& member, bool isSharing, const SharedMemberPtr& trigger) override;
virtual void onMemberWhiteboardStateChanged(const SharedMemberPtr& member, bool isSharing, const SharedMemberPtr& trigger) override;
virtual void onReceiveChatroomMessages(const std::list<NERoomMessage>& messages) override;
virtual void onRtcChannelError(int code, const std::string& msg) override;
virtual void onMemberPropertiesChanged(const std::string& userUuid, const std::map<std::string, std::string>& properties) override;
virtual void onRoomPropertiesChanged(const std::map<std::string, std::string>& properties) override;
virtual void onVideoFrameData(const std::string& userUuid,
bool bSubVideo,
void* data,
uint32_t type,
uint32_t width,
uint32_t height,
uint32_t count,
uint32_t offset[4],
uint32_t stride[4],
uint32_t rotation) override;
virtual void onRoomLiveStateChanged(NERoomLiveState state) override;
virtual void onMemberNameChanged(const SharedMemberPtr& member, const std::string& name) override;
virtual void onRoomLockStateChanged(bool locked) override;
virtual void onRtcVirtualBackgroundSourceEnabled(bool enabled, NERoomVirtualBackgroundSourceStateReason reason) override;
virtual void onRtcAudioStats(const std::vector<NEAudioStats>& stats) override;
virtual void onRtcVideoStats(const std::vector<NEVideoStats>& stats) override;
virtual void onRtcNetworkQuality(const std::vector<NENetWorkQualityStats>& quality) override;
virtual void onRtcUserVideoStart(const std::string& userUuid) override;
virtual void onRtcUserVideoStop(const std::string& userUuid) override;
virtual void onCameraDeviceChanged(const std::string& deviceId, bool bAdd) override;
virtual void onPlayoutDeviceChanged(const std::string& deviceId, bool bAdd) override;
virtual void onRecordDeviceChanged(const std::string& deviceId, bool bAdd) override;
virtual void onDefaultPlayoutDeviceChanged(const std::string& deviceId) override;
virtual void onDefaultRecordDeviceChanged(const std::string& deviceId) override;
virtual void onRoomConnectStateChanged(NEConnectState state) override;
virtual void onLocalAudioVolumeIndication(int volume) override;
virtual void onRtcRemoteAudioVolumeIndication(std::list<NEMemberVolumeInfo> volumeList, int totalVolume) override;
virtual void onRtcDisconnect() override;
virtual void onMemberPropertiesDeleted(const std::string& userUuid, const std::map<std::string, std::string>& properties) override;
virtual void onRoomPropertiesDeleted(const std::map<std::string, std::string>& properties) override;
};
auto listener = new NERoomListener();
auto context = m_pRoomKit->getRoomService()->getRoomContext(roomUuid);
context->addRoomListener(listener);
此文档是否对你有帮助?