房间禁言
更新时间: 2023/11/13 06:28:35
本文将介绍如何使用 NERoom SDK 实现对房间内的所有成员进行禁言,并禁用音频和视频功能。
前提条件
- 已在控制台为指定成员配置全局禁言权限。关于如何设置角色权限,参见 如何修改角色的权限。
房间禁言
房间创建者或管理员可以通过 banRoomChat
接口对整个房间全体成员禁言。房间禁言没有时间限制。
全员禁言后,将触发 onRoomChatBanStateChanged
事件回调。
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context
banRoomChatWithNotifyExt:@"透传内容"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:房间禁言了");
} else {
NSLog(@"房间管理:房间禁言失败了");
}
}];
//事件回调
- (void)onRoomChatBanStateChangedWithBanned:(BOOL)banned
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"房间管理操作:%@",
[NSString stringWithFormat:@"%@,%d,notifyExt:%@,operateBy:%@",
(banned ? @"被禁言了" : @"解言了"),
self.context.isRoomChatBanned, notifyExt, operateBy.name]);
}
如果需要解除全员禁言,可调用 unbanRoomChat
接口。解除全员禁言后,触发 onRoomChatBanStateChanged
事件回调。
房间禁用音频
房间创建者或管理员也可以通过 banRoomAudio
接口设置房间内所有成员禁止开启音频。
全员禁止开启音频后,将触发 onRoomAudioBanStateChanged
事件回调,以及如果有成员音频发生变更(开麦 -> 关麦) onMemberAudioMuteChanged
事件回调
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context
banRoomAudioWithNotifyExt:@"透传内容"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:房间禁音了");
} else {
NSLog(@"房间管理:房间禁音失败了");
}
}];
//事件回调
- (void)onRoomAudioBanStateChangedWithBanned:(BOOL)banned
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"房间管理操作:%@",
[NSString stringWithFormat:@"%@,%d,notifyExt:%@,operateBy:%@",
(banned ? @"被禁音了" : @"解音了"),
self.context.isRoomAudioBanned, notifyExt, operateBy.name]);
}
- (void)onMemberAudioMuteChangedWithMember:(NERoomMember *)member
mute:(BOOL)mute
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户音频状态发生变更");
}
如果需要解除全员音频禁言,可调用 unbanRoomAudio
接口。解除全员音频禁言后,触发 onRoomAudioBanStateChanged
事件回调。
房间禁用视频
房间创建者或管理员也可以通过 banRoomVideo
接口设置房间内所有成员禁止开启视频功能。
全员禁止开启视频功能后,将触发 onRoomVideoBanStateChanged
事件回调, 以及如果有成员视频发生变更(开视频 -> 关视频) onMemberVideoMuteChanged
事件回调。
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context
banRoomVideoWithNotifyExt:@"太"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:房间禁视了");
} else {
NSLog(@"房间管理:房间禁视失败了");
}
}];
//事件回调
- (void)onRoomVideoBanStateChangedWithBanned:(BOOL)banned
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"房间管理操作:%@",
[NSString stringWithFormat:@"%@,%d,notifyExt:%@,operateBy:%@",
(banned ? @"被禁视了" : @"解视了"),
self.context.isRoomVideoBanned, notifyExt, operateBy.name]);
}
- (void)onMemberVideoMuteChangedWithMember:(NERoomMember *)member
mute:(BOOL)mute
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户视频状态发生变更");
}
如果需要开启全员视频功能,可调用 unbanRoomVideo
接口。开启全员视频功能后,触发 onRoomVideoBanStateChanged
事件回调。
此文档是否对你有帮助?