房间禁言
更新时间: 2025/03/19 14:30:01
本文介绍如何使用网易云信 NERoom SDK 实现对房间内的所有成员禁言,并禁用音频和视频功能。
房间禁言让房间创建人或管理员能够更好地控制和管理房间内成员的交流,特别适用于需要集中讨论或单向信息传递的场景,如小班课或会议场景。此外,禁用音视频功能也可以帮助管理员或主持人集中注意力,确保课堂或会议的顺利进行。
准备工作
根据本文操作前,请确保您已经已在 网易云信控制台 为指定成员配置全局禁言权限。关于如何设置角色权限,参考 如何修改角色的权限。
房间禁言
房间创建者或管理员可以通过 banRoomChat 接口对整个房间全体成员禁言。房间禁言没有时间限制。
全员禁言后触发 onRoomChatBanStateChanged 事件回调。
示例代码如下:
JavaString 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 事件回调。
示例代码如下:
JavaString 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 事件回调。
示例代码如下:
JavaString 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 事件回调。





