anyRTC - 模仿微信呼叫邀请通话

市面上运用呼叫邀请通话的场景很多,下面简单介绍一下

陌生人交友,需要呼叫邀请通话,进行音视频通信。

门铃系统,需要呼叫邀请房主,让房主应答。

在线医疗,在线咨询,帮助患者快速、高效的解答救助事宜。

智能调度,安保系统智能调度人员。

呼叫邀请是怎么做的?

呼叫邀请的场景既然这么多,那市面上的这种场景是怎么做的呢?下面我们就来分析一下吧。

利用市面上现有的IM SDK ,一般这种SDK都会有一套现有的逻辑帮助开发者去实现呼叫邀请的逻辑。但不好的一点是这种SDK非常笨重,包体积大,好多还自带UI,灵活性差。

使用Socket 自行组织呼叫邀请逻辑,但是这种开发难度度大,工期时间长,而且对应大并发、高可用显得力不从心。

利用anyRTC 实时消息SDK,该SDK对呼叫邀请特别友好,包体积小,而且很轻,调用几个API接口就把呼叫邀请的逻辑给搞定了.

RTM 实时消息组织呼叫邀请的逻辑分析

呼叫邀请的行为

主叫发送呼叫邀请;

主叫取消呼叫邀请;

被叫接受收到的呼叫邀请;

被叫拒绝收到的呼叫邀请。

API 时序图

取消已发送呼叫邀请

接受/拒绝呼叫邀请

 本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

呼叫当中异常处理流程

呼叫邀请发出后,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方的在线情况与否。被呼叫者做相同的操作,收到呼叫邀请,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方在线情况与否。直到呼叫挂断后,都取消订阅对方的状态。

呼叫当中的推送对接

anyRTC RTM SDK中没有嵌入推送服务,需要客户自己去做推送服务,下面介绍一下客户端如何集成推送功能。

呼叫之前,订阅对方的状态,如果对方不在线,使用第三方推送服务,进行呼叫,然后发送sendLocalInvitation邀请,本地进入等待画面。

case1: 对方没有答应

发出邀请后,如果对方不应答,会在30s给予回到localInvitationFailure邀请失败回调,收到该回调后提示对方无应答。

case2: 对方有收到邀请

发出邀请后,被呼叫方收到推送消息,进行本地响铃,点击进入程序,登录RTM SDK,此时会收到remoteInvitationReceived的回掉,弹出应答页面,进行相应的应答,呼叫方此刻也会收到localInvitationReceivedByPeer的回调,进行60s倒计时,如果60s后还未做出答复回应,取消呼叫请求,关闭页面。

客户端集成推送服务

极光、信鸽、个推、友盟,用户可以根据自己的情况调研集成。

RTC音视频通话

当呼叫连接建立后,双方协商好进入相同的频道号即可通信。

RTC特色功能介绍

自采集,自采集功能的加入,支持屏幕共享、美颜、美声等前处理功能。

自渲染,对安全比较高的,可采用自渲染功能,对音视频数据进行自定义加密。

大小流,当会话人数比较多的时候,开启大小流,当小屏显示用户视频的时候,使用小流节省本地带宽,当大屏显示用户适配的时候,拉去大流进行高清显示,大小流可无缝切换。

插入媒体流,当会话当中,使用插入媒体流可进行同时看电视节目(RTMP流),可以看监控进行协同处理事务(RTSP流)。

播放音乐音效,当通话过程中,可以播放本地或在线音乐。

上下行网络质量,通话质量实时回调,显示本地以及对方的通话质量,可以进行友好提醒。

说话音量提醒,音量大小实时回调,可知晓频道中正在说话的用户,适合大频道多人音视频场景。

50人上麦,一个频道最大支持50人同时上麦,观看人数不限制,该功能已经瑶瑶领先其他厂商的SDK。

代码示列

ARCall,前往下载

  • 呼叫邀请流程
  • 支持iOS,Android,Web端
  • 支持多人呼叫邀请通话
  • 音频通话、视频通话

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

猜你喜欢

转载自blog.csdn.net/m0_60259116/article/details/126557932
今日推荐