浏览 SDKs · Flutter
平台
SDKsFlutter商业版

发起单聊通话

向指定用户发起单聊音视频通话邀请。

复制

向单个目标用户发起通话邀请。SDK 负责信令通道与呼叫生命周期,应用在获取凭证后接入实时音视频媒体引擎进行音视频渲染:

参数说明

参数类型是否必填说明
infoSignalingInfo是通话信令发起对象,包含操作者 userID、invitation 及可选的 offlinePushInfo。

invitation 核心字段说明:

  • inviterUserID:发起人用户 ID。
  • inviteeUserIDList:被邀请人用户 ID 列表,单聊只包含对方一人。
  • groupID:单聊时传入空字符串 ''。
  • roomID:通话房间 ID。建议每次通话生成全局唯一 ID。
  • timeout:呼叫超时时间,单位为秒。
  • mediaType:媒体类型,如 'video' 或 'audio'。
  • sessionType:会话类型,单聊传入 ConversationType.single。
final info = SignalingInfo(
  userID: currentUserID,
  invitation: InvitationInfo(
    inviterUserID: currentUserID,
    inviteeUserIDList: [peerUserID],
    groupID: '',
    roomID: roomID,
    timeout: 30,
    mediaType: 'video',
    sessionType: ConversationType.single,
    platformID: Platform.isIOS ? IMPlatform.ios : IMPlatform.android,
  ),
  offlinePushInfo: offlinePushInfo,
);

final credentials = await OpenIM.iMManager.signalingManager
    .signalingInvite(info: info);

返回结果

Future 成功返回 SignalingCertificate 对象,包含发起方进入房间所需的凭据信息。

字段类型说明
tokenString?接入媒体引擎所需的房间鉴权凭证。
roomIDString?目标通话房间 ID。
liveURLString?媒体流服务器地址。
busyLineUserIDListList<String>?当前正处于忙线状态的用户 ID 列表。

调用成功表示呼叫信令已成功发出,并不代表对方已经接听。客户端应以 roomID 建立本地呼叫状态,并通过信令事件监听对方的接听、拒绝或超时状态,完整事件监听请参考处理通话事件。