房间禁言

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

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