成员禁言
更新时间: 2023/11/10 07:12:11
本文将介绍如何使用 NERoom SDK 实现对房间内的指定成员进行禁言,并禁用音频和视频功能。
前提条件
- 已在控制台为指定成员配置成员禁言权限。关于如何设置角色权限,参见 如何修改角色的权限。
成员禁言
房间创建者或管理员可以通过 banMemberChat
接口对房间内指定成员禁言。成员禁言没有时间限制。
成员禁言后,将触发 onRoomChatBanStateChanged
事件回调。
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context.chatController
banMemberChatWithUserUuid:@"userUuid"
duration:100
notifyExt:@"透传消息"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:成员禁言了");
} else {
NSLog(@"房间管理:成员禁言失败了");
}
}];
//事件回调
- (void)onMemberChatBanStateChangedWithMember:(NERoomMember *)member
banned:(BOOL)banned
duration:(int64_t)duration
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户聊天禁言状态发生变更");
}
如果需要解除成员禁言,可调用 unbanMemberChat
接口。解除成员禁言后,触发 onMemberChatBanStateChanged
事件回调。
禁用音频功能
房间创建者或管理员也可以通过 banMemberAudio
接口设置房间内指定成员禁止开启麦克风。
成员禁止开启音频后,将触发 onMemberAudioBanStateChanged
事件回调,以及如果有成员音频发生变更(开麦 -> 关麦) onMemberAudioMuteChanged
事件回调
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context.rtcController
banMemberAudioWithUserUuid:@"userUuid"
duration:100
notifyExt:@"透传消息"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:成员禁音了");
} else {
NSLog(@"房间管理:成员禁音失败了");
}
}];
//事件回调
- (void)onMemberAudioBanStateChangedWithMember:(NERoomMember *)member
banned:(BOOL)banned
duration:(int64_t)duration
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户音频禁言状态发生变更");
}
- (void)onMemberAudioMuteChangedWithMember:(NERoomMember *)member
mute:(BOOL)mute
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户音频状态发生变更");
}
如果需要解除禁用麦克风,可调用 unbanMemberAudio
接口。解除后,触发 onMemberAudioBanStateChanged
事件回调。
禁用视频功能
房间创建者或管理员也可以通过 banMemberVideo
接口设置房间内所有成员禁止开启视频。
成员禁止开启视频后,将触发 onMemberVideoBanStateChanged
事件回调, 以及如果有成员视频发生变更(开视频 -> 关视频) onMemberVideoMuteChanged
事件回调。
示例代码如下:
oc//self.context 是加入房间后获取到的上下文对象
//方法调用
[self.context.rtcController
banMemberVideoWithUserUuid:@"userUuid"
duration:100
notifyExt:@"透传信息"
callback:^(NSInteger code, NSString *_Nullable msg, id _Nullable obj) {
if (code == 0) {
NSLog(@"房间管理:成员禁视了");
} else {
NSLog(@"房间管理:成员禁视失败了");
}
}];
//事件回调
- (void)onMemberVideoBanStateChangedWithMember:(NERoomMember *)member
banned:(BOOL)banned
duration:(int64_t)duration
notifyExt:(NSString *)notifyExt
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户视频禁言状态发生变更");
}
- (void)onMemberVideoMuteChangedWithMember:(NERoomMember *)member
mute:(BOOL)mute
operateBy:(NERoomMember *)operateBy {
NSLog(@"用户视频状态发生变更");
}
如果需要解除禁用摄像头,可调用 unbanMemberVideo
接口。解除后,触发 onMemberVideoBanStateChanged
事件回调。
此文档是否对你有帮助?