Skip to main content

环境准备

  • iOS 10.0 及以上版本
  • Xcode 10.0 及以上版本

step 1:导入 SDK 并设置 App 权限

导入 SDK

1、在您的 Podfile 文件中添加以下依赖。
2、执行以下命令,安装组件。
说明: 如果无法安装 MeetingKit 最新版本,执行以下命令更新本地的 CocoaPods 仓库列表:
如果,还是拉取不到最新版本可以尝试指定 MeetingKit 的源:
3、在所使用到 MeetingKit 组件的地方引入头文件。

配置 App 权限

使用音视频功能,需要授权麦克风、摄像头以及相册的使用权限。在 App 的 Info.plist 中添加以下几项,分别对应麦克风、摄像头和相册在系统弹出授权对话框时的提示信息。

step 2:登录和登出

登录

在调用 SDK 的任何其他函数之前,需要进行 SDK 登录操作,在您的项目中添加如下代码,它的作用是通过调用 MeetingKit 中的相关接口完成会议组件的初始化。这个步骤非常关键,因为只有在登录成功后才能正常使用 MeetingKit 的各项功能:
enableLocalLog默认值为YES。启用后会采集全进程日志到本地文件,同时保留宿主 App 的控制台输出。继续使用不带logConfig参数的登录接口时,也会采用该默认值。

登出

step 3:创建房间

构建会议参数

会议参数由很多的字段构成,但通常您只需要关注特定几个字段,详情可参看 SEAMeetingParam
  • 下表描述了**SEAMeetingParam**对象的部分属性。

创建房间

创建 SEAMeetingParam 对象后,调用 SDK 的 createRoom 函数创建云会议房间。

step 4:加入和离开房间

加入房间之前我们需要为组件设置委托,用于订阅组件的各类事件通知。

设置委托

若要订阅委托事件,必须创建 MeetingKitDelegate 的实例,并使您的类符合 MeetingKitDelegate 协议。

实现回调事件

  • 错误事件回调
  • 进入房间事件回调
  • 远端用户加入房间回调
  • 远端用户离开房间回调
  • 用户摄像头状态变化回调
  • 用户麦克风状态变化回调

创建加入会议参数

在调用 enterRoom 接口时,需要填写 SEAMeetingEnterParam 关键参数,详情可参看 SEAMeetingEnterParam

加入房间

创建 SEAMeetingEnterParam 对象后,调用 SDK 的 enterRoom 函数加入云会议房间。
值得注意的是,该方法的成功参数不能作为加入房间的真实情况,仅用于接口层面的调用成功使用,即:接口调用结束。要想确认加入房间是否真实成功,需要通过上述委托监听 onEnterRoom 事件来实现。

离开房间

调用该接口会让用户离开自己所在的房间,并释放摄像头、麦克风、扬声器等设备资源。 等资源释放完毕之后,SDK 会通过onSuccess回调向您通知。 如果您要再次调用enterRoom:(),建议等待onSuccess回调到来之后再执行之后的操作,以避免摄像头或麦克风被占用等异常问题。

step 5:打开和关闭摄像头

请求开启或关闭摄像头后,服务会通过一系列逻辑确定用户的摄像头状态。此时,组件会收到onUserCameraStateChanged事件。

打开摄像头

关闭摄像头

需要注意的是,以上方法的成功参数不能作为摄像头状态的真实情况,仅用于接口层面的调用成功使用,即:接口调用结束。为保证摄像头状态客户端与服务端的一致性,需要通过委托监听 onUserCameraStateChanged 事件来实现。

step 6:打开和关闭麦克风

请求开启或关闭麦克风后,服务会通过一系列逻辑确定用户的麦克风状态。此时,组件会收到onUserMicStateChanged事件。

打开麦克风

关闭麦克风

需要注意的是,以上方法的成功参数不能作为麦克风状态的真实情况,仅用于接口层面的调用成功使用,即:接口调用结束。为保证麦克风状态客户端与服务端的一致性,需要通过委托监听 onUserMicStateChanged 事件来实现。

step 7:订阅和取消订阅远端用户画面

订阅远端用户画面

  • 下表描述了SEAVideoStreamType视频流类型的所有值。

取消订阅远端用户画面

取消订阅指定远端用户的所有视频画面

取消订阅所有远端用户的视频画面

注:取消订阅成员视频画面后,组件会自行释放渲染控件。