房间事件

更新时间: 2024/09/09 10:38:34

加入房间后,请增加 NERoom 房间的监听事件,便于及时获取相应的回调信息。

注意事项

需要在加入房间后进行事件监听。

事件列表

分类 事件 描述
房间管理 onRoomEnded 房间结束的回调
onRoomPropertiesChanged 房间属性变更回调
onRoomPropertiesDeleted 房间属性删除回调
onRoomLockStateChanged 房间锁定状态变更事件回调
onRoomConnectStateChanged 网络状态变更回调
成员管理 onMemberJoinRoom 成员进入房间的回调
onMemberLeaveRoom 成员离开房间的回调
onMemberJoinChatroom 成员加入聊天室的回调
onMemberLeaveChatroom 成员离开聊天室的回调
onMemberRoleChanged 成员角色变更的回调
onMemberNameChanged 成员昵称修改回调
onMemberPropertiesChanged 成员属性变更回调
onMemberPropertiesDeleted 成员属性删除回调
音视频通话 onMemberJoinRtcChannel 成员加入 RTC 频道的回调
onMemberLeaveRtcChannel 成员离开 RTC 频道的回调
onMemberScreenShareStateChanged 成员屏幕共享状态的回调
onMemberAudioMuteChanged 成员音频状态的回调
onMemberVideoMuteChanged 成员视频状态的回调
onRtcChannelError RTC 频道错误的回调
onRtcActiveSpeakerChanged 当前房间成员音量最大者回调
onRtcAudioVolumeIndication 提示房间内谁正在说话及说话者瞬时音量的回调,不包含本端
onRtcNetworkQuality 当前网络质量回调
onCameraDeviceChanged 摄像头设备变更回调
onPlayoutDeviceChanged 扬声器设备变更回调
onRecordDeviceChanged 麦克风设备变更回调
互动白板 onMemberWhiteboardStateChanged 白板共享状态的回调
即时消息 onReceiveChatroomMessages 聊天室消息的回调

配置步骤

  1. 调用 getRoomContext 接口获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 addRoomListener 接口监听房间里的事件。

示例代码

/**
 * @param roomUuid 房间ID
 */
const NERoomContext = NERoomService.getRoomContext(roomUuid)

NERoomContext.addRoomListener({
    onMemberAudioMuteChanged: (member, mute) => {
        console.log('onMemberAudioMuteChanged', member, mute)
    },
    onMemberJoinChatroom: async (members) => {
        console.log('onMemberJoinChatroom', members);
    },
    onMemberJoinRoom: (members) => {
        console.log('onMemberJoinRoom', members);
    },
    onMemberJoinRtcChannel: async (members) => {
        console.log('onMemberJoinRtcChannel', members);
        console.log('本端', roomContext.localMember);
    },
    onMemberLeaveChatroom: (members) => {
        console.log('onMemberLeaveChatroom', members);
    },
    onMemberLeaveRoom: (members) => {
        console.log('onMemberLeaveRoom', members);
    },
    onMemberLeaveRtcChannel: (members) => {
        console.log('onMemberLeaveRtcChannel', members);
    },
    onMemberRoleChanged: (member, oldRole, newRole) => {
        console.log('onMemberRoleChanged', member, oldRole, newRole);
    },
    onMemberScreenShareStateChanged: async (member, isSharing) => {
        console.log('onMemberScreenShareStateChanged', member, isSharing);
    },
    onMemberVideoMuteChanged: async (member, mute) => {
        console.log('onMemberVideoMuteChanged', member, mute);
    },
    onMemberWhiteboardStateChanged: (member, isOpen) => {
        console.log('onMemberWhiteboardStateChanged', member, isOpen);
    },
    onReceiveChatroomMessages: (messages) => {
        console.log('onReceiveChatroomMessages', messages);
    },
    onRoomEnded: (reason) => {
        console.log('onRoomEnded', reason);
    },
    onRtcChannelError: (code) => {
        console.log('onRtcChannelError', code);
    },
    onRoomPropertiesChanged: (properties) => {
        console.log('onRoomPropertiesChanged', properties);
    },
    onRoomPropertiesDeleted: (keys) => {
        console.log('onRoomPropertiesDeleted', keys);
    },
    onMemberNameChanged: (member, name) => {
        console.log('onMemberNameChanged', member, name);
    },
    onMemberPropertiesChanged: (uuid, properties) => {
        console.log('onRoomPropertiesChanged', member, name);
    },
    onMemberPropertiesDeleted: (uuid, keys) => {
        console.log('onMemberPropertiesDeleted', uuid, keys);
    },
    onRtcActiveSpeakerChanged: (data) => {
        console.log('onRtcActiveSpeakerChanged', data);
    },
    onRoomLockStateChanged: (isLocked) => {
        console.log('onRoomLockStateChanged', isLocked);
    },
    onRoomConnectStateChanged: (state) => {
        console.log('onRoomLockonRoomConnectStateChangedStateChanged', state);
    },
})
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 事件列表
  • 配置步骤
  • 示例代码