房间禁言
更新时间: 2023/11/10 07:41:05
本文介绍如何使用 NERoom SDK 实现对房间内的所有成员禁言,并禁用音频和视频功能。
房间禁言让房间创建人或管理员能够更好地控制和管理房间内成员的交流,特别适用于需要集中讨论或单向信息传递的场景,如小班课或会议场景。此外,禁用音视频功能也可以帮助管理员或主持人集中注意力,确保课堂或会议的顺利进行。
前提条件
- 已在控制台为指定成员配置全局禁言权限。关于如何设置角色权限,参见 如何修改角色的权限。
房间禁言
房间创建者或管理员可以通过 banRoomChat
接口对整个房间全体成员禁言。房间禁言没有时间限制。
全员禁言后触发 onRoomChatBanStateChanged
事件回调。
示例代码如下:
java String roomUuid = "roomUuid";
NERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
if(roomContext==null){
return
}
roomContext.addRoomListener(new NERoomListenerAdapter(){
@Override
public void onRoomChatBanStateChanged(boolean banned, @Nullable String notifyExt, @Nullable NERoomMember operateBy) {
super.onRoomChatBanStateChanged(banned, notifyExt, operateBy);
}
});
String notifyExt = "your notifyExt";
roomContext.banRoomChat(
notifyExt,
new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit data) {
super.onSuccess(data);
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
}
});
如果需要解除全员禁言,可调用 unbanRoomChat
接口。解除全员禁言后,触发 onRoomChatBanStateChanged
事件回调。
禁用音频功能
房间创建者或管理员也可以通过 banRoomAudio
接口设置房间内所有成员禁止开启音频。
全员禁止开启音频后,触发 onRoomAudioBanStateChanged
事件回调。
示例代码如下:
java String roomUuid = "roomUuid";
NERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
if(roomContext==null){
return
}
roomContext.addRoomListener(new NERoomListenerAdapter(){
@Override
public void onRoomAudioBanStateChanged(boolean banned, @Nullable String notifyExt, @Nullable NERoomMember operateBy) {
super.onRoomAudioBanStateChanged(banned, notifyExt, operateBy);
}
});
String notifyExt = "your notifyExt";
roomContext.banRoomAudio(
notifyExt,
new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit data) {
super.onSuccess(data);
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
}
});
如果需要解除全员音频禁言,可调用 unbanRoomAudio
接口。解除全员音频禁言后,触发 onRoomAudioBanStateChanged
事件回调。
禁用视频功能
房间创建者或管理员也可以通过 banRoomVideo
接口设置房间内所有成员禁止开启视频。
全员禁止开启视频后,触发 onRoomVideoBanStateChanged
事件回调。
示例代码如下:
java String roomUuid = "roomUuid";
NERoomContext roomContext = NERoomKit.getInstance().getRoomService().getRoomContext(roomUuid);
if(roomContext==null){
return
}
roomContext.addRoomListener(new NERoomListenerAdapter(){
@Override
public void onRoomVideoBanStateChanged(boolean banned, @Nullable String notifyExt, @Nullable NERoomMember operateBy) {
super.onRoomVideoBanStateChanged(banned, notifyExt, operateBy);
}
});
String notifyExt = "your notifyExt";
roomContext.banRoomVideo(
notifyExt,
new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit data) {
super.onSuccess(data);
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
}
});
如果需要解除全员禁用视频功能,可调用 unbanRoomVideo
接口。解除后,触发 onRoomVideoBanStateChanged
事件回调。
此文档是否对你有帮助?