会议管理

更新时间: 2026/01/06 15:49:38

本文介绍如何通过网易会议组件管理会议的相关示例。

前提条件

根据本文操作前,请确保您已经完成了 登录鉴权

离开或结束会议

您可以调用 leaveCurrentMeetingWithType 离开当前进行中的会议,并通过参数控制(leaveMeetingType)是否同时结束当前会议。

Objective-C
/**
* leaveMeetingType
* 0 所有设备离开会议;  
* 1 仅当前设备离开会议(当非多端入会场景时,调用仅当前设备离开会议等同于离开会议)
* 2 结束会议(仅当前账号是会议主持人/联席主持人时,该参数才有效。当非管理员时,调用结束会议等同于所有设备离开会议)
*/

  // 离开当前会议
  [[NEMeetingKit.getInstance getMeetingService]
      leaveCurrentMeetingWithType:leaveMeetingType
                         callback:^(NSInteger resultCode, NSString *resultMsg, id resultData) {
                           if (resultCode != ERROR_CODE_SUCCESS) {
                             [weakSelf showErrorCode:resultCode msg:resultMsg];
                           } else {
                             NSLog(@"离开会议成功: %@", typeName);
                           }
                         }];

查询用户的会议设置

通过会议设置服务,设置和查询用户的当前会议设置,例如入会时的音视频开关状态、会议持续时间的显示等。

  • 每个已登录的用户有自己独立的一份会议设置项。其他所有未登录用户、匿名用户共享一份会议设置项。
  • 会议设置项仅在当前设备上保存,不会漫游。
  • 调用创建会议或加入会议方法时,若您设置 NEMeetingOptions 参数为 null,SDK 会使用会议设置服务中已保存的相关配置进行创会/入会。
  1. 调用 getSettingsService 方法获取会议设置服务。

    示例代码 如下:

    Objective-CNESettingsService *settingsService = [[NEMeetingKit getInstance] getSettingsService];
    
  2. 调用不同方法设置或查询会议设置项。

    • 设置或查询通用入会设置项

      示例代码 如下:

      Objective-C// 设置并保存会议设置
      [settingsService enableTurnOnMyAudioWhenJoinMeeting:YES];
      [settingsService enableTurnOnMyVideoWhenJoinMeeting:YES];
      
      //查询会议设置
      BOOL audioEnabled = [settingsService isTurnOnMyAudioWhenJoinMeetingEnabled];
      BOOL videoEnabled = [settingsService isTurnOnMyVideoWhenJoinMeetingEnabled];
      
    • 查询直播开通状态

      示例代码 如下:

      Objective-C/**
      * 查询直播开通状态
      */
      BOOL videoEnabled = [settingsService isMeetingLiveSupported];
      

获取当前会议信息

在已经完成 SDK 登录鉴权的状态下,获取当前会议信息。

调用 getCurrentMeetingInfo 方法获取当前会议信息并进行回调处理。该接口的回调结果的数据类型为 NEMeetingInfo 对象类型。

请确认已经通过一种入会方式(加入会议/创建会议/匿名入会)加入到会议内,否则回调数据对象为空。

示例代码 如下:

Objective-C[[NEMeetingKit getInstance].getMeetingService
      getCurrentMeetingInfo:^(NSInteger resultCode, NSString *_Nonnull resultMsg,
                              NEMeetingInfo *_Nonnull info){
          // code
      }];

监听会议状态

通过注册会议状态回调接口,获取会议状态变更的通知。

  1. 注册回调接口 addMeetingStatusListener 开始监听,并在回调方法中根据您的需求处理相应事件。

    该接口在初始化 SDK 成功后即可调用。

    示例代码 如下:

    Objective-C@interface AppVC () <NEMeetingStatusListener>
    @end
    
    @implementation AppVC
    
    - (void)viewDidLoad {
            [super viewDidLoad];
            [[NEMeetingKit getInstance].getMeetingService addMeetingStatusListener:self];
        }
    
    - (void)onMeetingStatusChanged:(nonnull NEMeetingEvent *)event {
        
    }
    @end
    
  2. 反注册回调接口 removeMeetingStatusListener 停止监听。

    示例代码 如下:

    Objective-C@interface AppVC () <NEMeetingStatusListener>
    @end
    
    @implementation AppVC
    
    - (void)dealloc {
            [[NEMeetingKit getInstance].getMeetingService removeMeetingStatusListener:self];
        }
    
    - (void)onMeetingStatusChanged:(nonnull NEMeetingEvent *)event {
        
    }
    @end
    

监听全局事件

通过注册全局事件回调接口,获取相应事件通知,目前支持监听 RTC 初始化和销毁相关的事件。

  1. 注册回调接口 addGlobalEventListener 开始监听,并在回调方法中根据您的需求处理相应事件。

    该接口在初始化 SDK 成功后即可调用。

    示例代码 如下:

    Objective-C@interface AppVC () <NEGlobalEventListener>
    @end
    
    @implementation AppVC
    
    - (void)viewDidLoad {
            [super viewDidLoad];
            [NEMeetingKit.getInstance addGlobalEventListener:self];
        }
    
    - (void)beforeRtcEngineInitializeWithRoomUuid:(NSString *)roomUuid
                                   rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    
    - (void)afterRtcEngineInitializeWithRoomUuid:(NSString *)roomUuid
                                    rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    
    - (void)beforeRtcEngineReleaseWithRoomUuid:(NSString *)roomUuid
                                    rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    @end
    
  2. 反注册回调接口 removeGlobalEventListener 停止监听。

    示例代码 如下:

    Objective-C@interface AppVC () <NEGlobalEventListener>
    @end
    
    @implementation AppVC
    
    - (void)dealloc {
        [NEMeetingKit.getInstance removeGlobalEventListener:self];
    }
    
    - (void)beforeRtcEngineInitializeWithRoomUuid:(NSString *)roomUuid
                                   rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    
    - (void)afterRtcEngineInitializeWithRoomUuid:(NSString *)roomUuid
                                    rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    
    - (void)beforeRtcEngineReleaseWithRoomUuid:(NSString *)roomUuid
                                    rtcWrapper:(NERtcWrapper *)rtcWrapper {
    }
    @end
    
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 离开或结束会议
  • 查询用户的会议设置
  • 获取当前会议信息
  • 监听会议状态
  • 监听全局事件