房间事件
更新时间: 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 | 聊天室消息的回调 |
配置步骤
-
调用
getRoomContext
接口获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
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);
},
})
此文档是否对你有帮助?