Android技术分享| 一对一音视频呼叫邀请开发流程(一)

本文档详细介绍了基于Android的RTM和RTC SDK实现点对点视频通话的完整流程,包括呼叫发起、接收、同意、拒绝、视频转语音接听以及挂断等操作。在呼叫过程中,RTM负责信令交互,RTC处理音视频。文章还提到了关键回调函数及其用途,以及如何在呼叫过程中传递和解析自定义信息,确保双方能顺利进行音视频通话。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文档基于 Android RTM、RTC SDK,其他平台API 基本一致,可供参考。

​ RTM:用于搭建呼叫的一整套流程、信令交互

​ RTC:用于呼叫流程通了之后的音视频交互

由于呼叫和音视频是完全分开的两个 sdk,所以在开发的时候需要注意的情况很多。

点对点呼叫

点对点呼叫就是2个人的通话,基本的通话场景中包含发起呼叫拒绝呼叫同意呼叫视频呼叫转语音接听呼叫正忙等。

下面我将一一介绍这几个功能的实现以及需要注意的地方。

以下功能默认你已基本阅读过 RTM RTC 文档且登录成功了 RTM SDK,RTC SDK 也已经准备好。

主叫
发起呼叫
  1. 创建 LocalInvitation 对象
val localInvitation = rtmCallManager.createLocalInvitation(userId)

​ 上述方法用于创建一个呼叫对象,⏰ 其中参数 userId 为对方的登录 RTM sdk 的 userId

  1. 添加自定义信息

​ 发起呼叫的时候,通常我们都需要告诉对方本次是视频呼叫还是音频呼叫,是否多人呼叫,或者其他跟业务相关的信息。这时候就可以在上面创建的 localInvitation 对象中添加自定义信息。

localInvitation.setContent("自定义的消息体")

//通常我们都会选择发送json格式字符串,例如
"mediaType":0 //0视频 1 音频
"isMeeting":1 //0 多人模式 1 p2p
"rtcChannelId":"10000"//⚠️这个参数尤为重要,这个参数通常都由主叫生成,在呼叫的时候带给被叫。该参数的作用是告诉对方我们这次呼叫将进入哪个 RTC 的频道,两个人进入同一个 RTC 频道时,音视频才会通。

  1. 发送呼叫
rtmCallManager.sendLocalInvitation(localInvitation, null)

有了以上两步,就可以发送呼叫了。主叫发送呼叫之后会收到相关的回调如下,建议将注释copy到代码中去,方便处理业务。

//对方已收到你的呼叫
void onLocalInvitationReceivedByPeer(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值