信令接口是基于 IM 消息提供的一套邀请流程控制的接口,可以实现多种实时场景,例如:
信令接口支持以下功能:
在使用 简单收发消息接口 或 富媒体消息接口 进行单聊的同时,可以使用 invite 信令接口进行点对点呼叫,对方收到邀请通知 onReceiveNewInvitation 后可以选择接受、拒绝或等待超时。
首先需通过 建群、加群、退群、解散群以及群资料 和 群成员 相关接口完成对群组的管理,并监听群内的相关事件回调 V2TimGroupListener。然后群成员可以在群内发起群呼叫邀请 inviteInGroup,被邀请的群成员会收到邀请通知 onReceiveNewInvitation 后可以选择接受、拒绝或等待超时。
邀请者可以在超时前且被邀请者未处理前取消邀请 cancel。被邀请者会收到取消通知 onInvitationCancelled,该邀请流程结束。
被邀请者收到邀请通知 onReceiveNewInvitation 后可以在超时前且邀请者取消前接受邀请 accept,邀请者会收到接受邀请通知 onInviteeAccepted,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。
被邀请者收到邀请通知 onReceiveNewInvitation后可以在超时前且邀请者取消前拒绝邀请 reject,邀请者会收到拒绝邀请通知 onInviteeRejected,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。
若邀请接口的超时时间大于0,且被邀请者未在超时时间之内响应则邀请超时,邀请者和被邀请者都会收到超时通知 onInvitationTimeout,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。若邀请接口的超时时间等于0,则不会有超时通知。
在开源项目 TRTCFlutterScenesDemo 中,我们基于 TRTC 组件 并对其稍作修改提供了一个适合聊天场景的 1v1 和多人音视频通话的方案,您可以直接基于我们提供的 Demo 进行修改适配。我们以 1v1 视频通话为例介绍下信令接口跟 TRTC SDK 的结合使用。
1v1 视频通话的流程:
onRemoteUserEnterRoom
回调后记录本次通话的开始时间。onUserVideoAvailable
的事件通知,表示对方的视频画面已经拿到。此时双方用户均可以调用 TRTC SDK 接口 startRemoteView
展示远端的视频画面。远端的声音默认是自动播放的。onRemoteUserLeaveRoom
回调后计算通话总时长并再次发起一次邀请,此邀请的自定义数据中标明是结束通话并附带通话时长,方便 UI 界面做展示。时序图
该场景为老师先让同学们举手,再从举手的同学中选一个同学进行发言。详细流程如下:
data
中填入“举手操作”,同学们收到 onReceiveNewInvitation 回调。inviteeList
和 data
字段判断被邀请者里有自己且是举手操作,那么调用 accept 接口举手。data
中的字段为“举手操作”,展示举手学生列表。data
中填入“发言操作”,学生们都收到 onReceiveNewInvitation 回调。inviteeList
和 data
字段判断被邀请者里有自己且是发言操作,则调用 accept 接口发言。data
中的字段为“发言操作”,展示发言成员列表。
本页内容是否解决了您的问题?