基于声网 SDK 实现 iOS 端的一对一视频通话

本文介绍了如何使用声网SDK在iOS上实现一对一视频通话。首先通过开源Demo体验视频通话,接着讲解视频通话技术原理,包括加入频道的步骤。然后配置开发环境,设置项目,集成SDK,并获取必要的权限。最后详细阐述客户端实现,包括创建用户界面和实现视频通话逻辑。
摘要由CSDN通过智能技术生成

在很多产品,加入实时视频通话已经不是新鲜事情了,尤其是近几年的疫情影响,个人公司国家对于实时音视频的需求一直在快速的增长。例如视频会议、社交应用、实时游戏,甚至也可能出现在一些元宇宙的场景中。

本文将教你如何通过声网视频 SDK 在 iOS 平台上实现一个视频通话应用。为此你需要先注册一个声网开发者账号,开发者每个月可获得 10000 分钟的免费使用额度,可实现各类实时音视频场景。

一、 通过开源Demo,体验视频通话

可能有些人,还不了解我们要实现的功能最后是怎样的。所以我们在 GitHub上提供一个开源的基础视频通话示例项目,在开始开发之前你可以通过该示例项目体验视频通话的体验效果。

声网在 https://github.com/AgoraIO/Basic-Video-Call/tree/master/One-to-One-Video 上提供开源的实时音视频通话示例项目 Agora-iOS-Tutorial-Objective-C-1to1 与 Agora-iOS-Tutorial-Swift-1to1。
在这里插入图片描述

二、 视频通话的技术原理

我们在这里要实现的是一对一的视频通话。你可以理解为是两个用户通过加入同一个频道,实现的音视频的互通。而这个频道的数据,会通过声网的 SD-RTN 实时网络来进行低延时传输的。
下图展示在 App 中集成声网视频通话的基本工作流程:
在这里插入图片描述

如图所示,实现视频通话的步骤如下:
  1. 获取 Token:当 app 客户端加入频道时,你需要使用 Token 验证用户身份。在测试或生产环境中,从 app 服务器中获取 Token。
  2. 加入频道:调用 joinChannel 创建并加入频道。使用同一频道名称的 app 客户端默认加入同一频道。频道可理解为专用于传输实时音视频数据的通道。
  3. 在频道内发布和订阅音视频流:加入频道后,app 客户端均可以在频道内发布和订阅音视频。
App 客户端加入频道需要以下信息:
  1. App ID:声网随机生成的字符串,用于识别你的 App,可从声网控制台获取,(声网控制台链接:https://console.agora.io/)。详细方法可见这篇教程(这篇教程链接:https://www.agora.io/cn/community/blog-119-category-21344)。
  2. 用户 ID:用户的唯一标识。你需要自行设置用户 ID,并确保它在频道内是唯一的。
  3. Token:在测试或生产环境中,app 客户端从你的服务器中获取 Token。在本文介绍的流程中,你可以从声网控制台获取临时 Token。临时 Token 的有效期为 24 小时。
  4. 频道名称:用于标识视频通话频道的字符串。

三、 开发环境

声网 SDK 的兼容性良好,对硬件设备和软件系统的要求不高,开发环境和测试环境满足以下条件即可:

  • Xcode 9.0或以上版本
  • 支持语音和视频功能的真机
  • App 要求支持iOS 8.0或以上版本的iOS设备

以下是本文的开发环境和测试环境:

开发环境

• macOS 11.6版本
• Xcode Version 13.1

测试环境

• iPhone7 (iOS 15.3)

如果你此前还未接触过声网 SDK,那么你还需要做以下准备工作:

• 注册一个声网账号,进入后台创建 AppID、获取 Token,
• 下载声网官方最新的视频通话SDK;(视频通话SDK链接:https://docs.agora.io/cn/Video/downloads?platform=iOS)

四、 项目设置

1. 实现视频通话之前,参考如下步骤设置你的项目:

a) 如需创建新项目, Xcode里,打开 Xcode 并点击 Create a new Xcode project。(创建 iOS项目链接:https://developer.apple.com/documentation/xcode/creating-an-xcode-project-for-an-app)
b) 选择平台类型为 iOS、项目类型为 Single View App,并点击 Next。
c) 输入项目名称(Product Name)、开发团队信息(Team)、组织名称(Organization Name)和语言(Language&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值