SDKsiOS含商业版能力
音视频通话概览
了解 OpenIM iOS SDK 的音视频通话信令、房间信息和事件边界。
OpenIM iOS SDK 提供发起邀请、接受、拒绝、取消、挂断、查询房间和同步通话状态所需的信令 API。它负责协调谁进入哪个房间以及通话生命周期,不负责采集摄像头、播放远端媒体流或渲染通话界面。
应用需要把 SDK 返回的 roomID、token 和 liveURL 交给所选的实时音视频媒体引擎,并自行处理系统权限、音频会话、媒体轨道、弱网策略和界面状态。OpenIM iOS SDK 在此提供通话信令,不提供完整的实时音视频媒体能力。
通话流程
- 调用发起单聊通话发起单聊通话,或调用发起群聊通话发起群聊通话。
- 被邀请方从新邀请回调中取得
OIMSignalingInfo,选择接受或拒绝。 - 接受方调用接受通话,双方使用成功回调中的房间凭据接入媒体引擎。
- 通话过程中根据成员、媒体流和自定义信令 delegate 更新本地状态。
- 发起方可以取消通话邀请;任一通话参与者都可以挂断通话。
核心数据
| 数据 | 说明 |
|---|---|
OIMInvitationInfo | 被邀请人、群组、房间、媒体类型、超时时间和会话类型。 |
OIMSignalingInfo | 当前信令操作的用户、邀请信息和离线推送信息。 |
OIMInvitationResultInfo | OpenIMServer 返回的 roomID、token、liveURL 和忙线用户列表。 |
OIMParticipantConnectedInfo | 按群组查询到的房间、邀请及参与者信息。 |
自定义信令用于传递与当前通话相关的轻量、临时业务协商信息,不承担文件传输或长期状态保存。
状态更新与事件归属
发起、接受、拒绝、取消和挂断等写操作需要分别处理成功 callback 与通话 delegate。成功 callback 表示 OpenIMServer 已接受或完成当前信令请求;delegate 反映邀请方、被邀请方、其他设备或房间参与者随后收到的状态变化,两者不是同一个完成信号。
邀请生命周期、成员进出房间、挂断和媒体流变化的完整监听统一见处理通话事件;自定义信令事件见发送自定义信令。
通话状态以 roomID 为合并标识;参与者状态同时使用用户 ID。应用重新启动后如果存在未处理的邀请,可通过恢复启动前收到的通话邀请进行恢复;需要显示当前群房间情况时,可调用查询群组通话房间。
相关页面
这个页面有帮助吗?