成员禁言

更新时间: 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 事件回调。

此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 成员禁言
  • 禁用音频功能
  • 禁用视频功能