iOS备忘录即时通讯声网sdk

iOS端视频通话声网逻辑

2018-01-04  本文已影响131人  罗淞

A端向B端发起

A需要准备
1.播放等待对方接听的铃声
2.等待对方接听的UI
3.登录信令

Pasted Graphic 1.jpg

并初始化声网视频配置

Pasted Graphic 8.jpg

4.获取登录成功的回调,记录自己的声网uid,用于后面发起视频通话使用。

Pasted Graphic 3.jpg

5.在登录成功时也要加入信令频道

Pasted Graphic 4.jpg

6.在登录成功时发起信令的呼叫

Pasted Graphic 5.png

7.在发起后有三种情况:
(1)对方接听
(2)对方拒绝
(3)自己取消呼叫挂断

7.1对方接听
onInviteAcceptedByPeer是B端接受后A端会发起的回调,收到后需要做的处理:

Pasted Graphic 6.jpg

(1)更新界面为通话中界面,停止等待铃声,开始计时。
(2)加入声网的视频通话通道。

Pasted Graphic 7.jpg

(3)调用申请约见接口,只有立即约见需要调用此接口,需要判断。

7.2对方拒绝
当B端拒绝后会调用onInviteRefusedByPeer回调,在此回调处理:
(1)停止呼叫声音

Pasted Graphic 9.jpg

(2)离开频道并退出呼叫页面:会调用离开信道频道和离开视频通话频道,清空视频实例并退出登录信令后,退出呼叫页面。

Pasted Graphic 10.jpg

7.3 自己取消呼叫挂断
手动调用结束呼叫 (channelInviteEnd:account:uid:)
并离开频道(同上面的离开频道)

Pasted Graphic 11.jpg

8 接听后结束时有两种情况
(1)对方已结束呼叫回调 onInviteEndByPeer

Pasted Graphic 12.jpg

(2)本地手动结束通话
调用结束呼叫 (channelInviteEnd:account:uid:)
自己不用监听onInviteEndByMyself,直接手动离开频道即可(离开方式同上)
调用接口:操作预约业务,修改订单状态为5,并传递约见业务id。
(递预约业务id的来源有两个地方,第一类是立即约见,是从上面7.1中调用申请约见接口返回的;第二类是预约约见和随时约见,约见业务id是从约见详情那传递过来的)

Pasted Graphic 13.jpg
上一篇下一篇

猜你喜欢

热点阅读