浏览 SDKs · iOS
SDKsiOS

音视频通话概览

了解 OpenIM iOS SDK 的音视频通话信令、房间信息和事件边界。

复制

OpenIM iOS SDK 提供发起邀请、接受、拒绝、取消、挂断、查询房间和同步通话状态所需的信令 API。它负责协调谁进入哪个房间以及通话生命周期,不负责采集摄像头、播放远端媒体流或渲染通话界面。

应用需要把 SDK 返回的 roomIDtokenliveURL 交给所选的实时音视频媒体引擎,并自行处理系统权限、音频会话、媒体轨道、弱网策略和界面状态。不要把 OpenIM iOS SDK 的信令 API 描述成一套完整的 WebRTC 媒体 SDK。

通话流程

  1. 调用 signalingInvite:offlinePushInfo:onSuccess:onFailure:商业版 发起单聊通话,或调用 signalingInviteInGroup:offlinePushInfo:onSuccess:onFailure: 发起群聊通话。
  2. 被邀请方从 onReceiveNewInvitation:商业版 取得 OIMSignalingInfo,选择接受或拒绝。
  3. 接受方调用 signalingAccept:onSuccess:onFailure:,双方使用成功回调中的房间凭据接入媒体引擎。
  4. 通话过程中根据成员、媒体流和自定义信令 delegate 更新本地状态。
  5. 发起方可以取消尚未接通的邀请;任一通话参与者都可以挂断已经建立的通话。

核心数据

数据说明
OIMInvitationInfo被邀请人、群组、房间、媒体类型、超时时间和会话类型。
OIMSignalingInfo当前信令操作的用户、邀请信息和离线推送信息。
OIMInvitationResultInfoOpenIMServer 返回的 roomIDtokenliveURL 和忙线用户列表。
OIMParticipantConnectedInfo按群组查询到的房间、邀请及参与者信息。

自定义信令只适合传递业务可公开的协商信息。不要在其中写入长期凭据、管理员密钥或其他敏感数据。

状态更新与事件归属

发起、接受、拒绝、取消和挂断等写操作需要分别处理成功 callback 与通话 delegate。成功 callback 表示 OpenIMServer 已接受或完成当前信令请求;delegate 反映邀请方、被邀请方、其他设备或房间参与者看到的增量状态,两者不是同一个完成信号。

邀请生命周期、成员进出房间、挂断和媒体流变化的完整监听统一见通话事件;自定义信令事件见发送自定义信令。房间和令牌查询只通过 callback 返回快照,分别见“通话信息”菜单中的三个查询页面。

概览页不注册 delegate。通话状态以 roomID 为主键;参与者状态还需要结合用户 ID。应用重新启动后的未处理邀请可以通过查询恢复;需要显示当前房间快照时,再查询房间信息。

相关页面