CallKit
CallKit 是实现融云「音视频通话」功能的 SDK,提供一套通用的呼叫 UI。可支持单人、多人音视频通话的各种场景。您可以快速集成 CallKit 来实现丰富的音视频通话界面,并进行自己的 UI 定制开发。CallKit 已开源,您可以直接使用源代码进行集成。
基于 CallKit 开发,必须同时集成 CallLib,IMKit 和 IMLib。
具体请参见融云客户端 SDK 体系。
CallKit 架构示意图
CallLib 因为内部携带一套呼叫状态机,需要对流程严格控制,所以是将 RTCLib 包裹在其内部,用户使用 CallLib 时也应尽量避免直接调用 RTCLib 的接口,以免造成状态错乱。
CallKit 优势
- 跨主流平台。CallKit 支持在 Android 和 iOS 上集成使用。支持 iOS、Android、Web、Mac、Windows、Linux 之间连接互通。
- 易用易集成。CallKit 默认提供了一对一呼叫、多人呼叫等音视频通话场景的界面功能。
- 连接可靠。信令消息都是基于融云的即时通讯全球大网。利用智能 DNS 解析、多链路最优接入策略和抗弱网丢包策略,在低速、不稳定的网络连接下仍能提供较好的性能体验。
- 抗丢包:音频能抗 80% 丢包率,视频能抗 40% 丢包率。
- 网络自适应:可根据当前网络状况自动切换至合适的分辨率、帧率,根据业务场景做不同策略调整。
- 性能出色。
- 视频能力:最大支持 1080p、30 帧,提供清晰流畅的体验。
- 音频能力:采样率最高可达 48kHz,支持双声道,确保声音清晰、还原度高。音频通话 100% 回声消除,1s 降噪。
- 低延迟:正常网络下,延迟可低至 66ms 以内。
- 安全。可对媒体流进行自定义加解密,音频流与视频流可独立处理。
- 支持全面。官方文档中对 CallKit 公共接口均有详细记录。如有疑问,可发工单获取支持。
适用场景
CallKit 用于「音视频通话」功能,「音视频通话」指类似微信通话等必须含有呼叫流程的应用场景。
CallKit 自带一套通用的呼叫 UI,适用于对 UI 定制需求较少的开发者。
如果需要使用「音视频通话」,但希望自行开发 UI 界面,建议您使用融云为「音视频通话」场景提供的无 UI SDK CallLib
资源
-
SDK 开源代码
CallKit 完全开源。您可以从 GitHub 下载源码:
-
示例应用项目
整合了 CallKit、CallLib、RTCLib 的示例应用项目,用于演示和体验通话(呼叫)、会议、直播等多个业务场景:
-
SealTalk 应用
Android 端和 iOS 端的 SealTalk 应用集成了 CallKit 的呼叫界面。
-
开发者文档
-
API 参考文档