Video Interactive Live Broadcast目前是一个相对流行的游戏玩法。我们经常看到PK Lianmai,实时广播问题,KTV在一起,E -Commerce Live Broadcast,Interactive class类,视频蒙福德等。
本文将教您如何通过Agora Video SDK在iOS上实现实时视频应用程序。在注册的声音网络帐户后,开发人员可以免费使用10,000分钟的时间,这可以实现各种真实的音频和视频场景。
没什么可说的,我们开始做实践。
有些人可能不知道我们将要做什么功能。在开始开发之前,您可以通过此示例项目体验实时视频实时视频的体验效果。
Image622×1108 87.4 KB
Image608×1102 99 KB
Agora提供了开源交互式直播示例OpenLive-ios-Objective-C和OpenLive-ios-Swift.ouou可以在实施相关功能之前下载并查看源代码。
基本视频广播·github 1
我们想在这里实现的是现场视频。Agora的实时视频可以实现交互式效果,因此通常称为Interactive Live广播。您可以理解,多个用户可以与同一频道通信并实现音频和视频的互操作性。该通道的数据将通过音频网络的Agora SD-RTN实时网络传输。
应该明确解释的是,Agora Interactive Live广播与实时视频不同。VIDEOCALL并没有区分锚点和观众,所有用户都可以互相讲话和见解。交互式实时广播的用户分为锚点和观众。只有锚可以自由地说话,并被其他用户看到。
下图显示了该应用程序中集成的Agora Interactive Live广播的基本工作流程:
图像870×600 51.2 kb
如图所示,实时视频的步骤如下:
应用客户端需要以下信息来加入频道:
音频网络Agora SDK具有良好的兼容性,硬件设备和软件系统的要求不高。开发环境和测试环境符合以下条件:?Xcode 9.0或更高版本?支持语音和视频功能的真实机器?应用程序需求支持支持OSSINDIOS 8.0或以上iOS设备
以下是本文的开发环境和测试环境:
开发环境?MACOS 11.6版本?Xcode版本13.1
测试环境?iPhone7(iOS 15.3)
如果您以前没有触摸Sound Network Agora SDK,那么您仍然需要做以下准备工作:?注册声音网络帐户,输入背景以创建appid,获取TokensDK链接:下载-Video call-document center-center网络Agora
a)如果您需要在XCode中创建一个新项目,请打开XCode,然后单击创建新的Xcode Project.in
b)选择平台类型作为iOS,项目类型是单个视图应用程序,然后单击下一步。
c)输入项目信息,例如项目名称,开发团队信息(团队),组织名称和语言(语言),然后单击Next.Next:注意:如果您尚未添加开发团队信息,则会看到添加帐户。..按钮。单击按钮,并根据屏幕提示登录到Apple ID。完成后,您可以选择Apple帐户作为开发团队。
d)选择项目存储路径,然后单击创建。
选择以下方法以获取最新版本的Agora IOS SDK。
方法1:使用Cocoapods开始开始之前开始获得SDKA)。
b)在终端中输入项目root目录并运行pod init命令。podfile文本文件是在项目文件夹下生成的。目标名称2:从官方网站获取SDK A)转到SDK下载页面,获取Agora IOS SDK的最新版本,然后对其进行解压缩。声音网络agora b)根据您的需要,将LIBS文件夹中的动态库复制到项目的https://www.shouxicto.com/article/article/project_name文件fileproject_name是您的项目名称.c)。项目名称>构建阶段>链接二进制文件与libraareies菜单,单击 +添加为较低库(例如:)。添加agorartcenginekit.framework文件时,您需要单击 +添加其他...查找本地文件并打开它。
libresolv.tbd x。SystemConfiguration.Framework XI。VIDEOTOOLBOX.FRAMEWORK注意:如果您需要支持iOS 9.0或更低版本的设备,请在Xcode中设置Coreml.Framework至“可选”。
d)打开Xcode并输入目标>项目名称>常规>框架,库和嵌入式恒定菜单。e)单击 +>添加其他...>添加文件以添加相应的动态库并确保添加的动态库嵌入属性设置为嵌入和签名。添加完成后,该项目将自动链接系统库。
注意:·根据Apple的官方要求,该应用程序的扩展名不允许包括动态库。如果项目中的扩展名需要集成SDK,则在添加动态库时需要更改文件状态以不嵌入。·Agora SDK默认使用LIBC ++(LLVM)。如果您需要使用libstdc ++(gnu),请联系sales@agora.io.SDK提供的库是Fat Image,包括32/64-bit Simulator和32/64 -bit Real Machine版本。
872×846 143 KB
在项目中导入AgorartCengineKit类:
在keycenter.swift文件中,填写您的附件到相应的位置,然后替换“您的应用ID”;
本节介绍了如何使用Agora Video SDK实现几个技巧来实现您的应用中的实时视频广播:
根据场景的需求,为您的项目创建实时视频。我们建议您在项目中添加元素:本地视频窗口和远程视频窗口。
您可以参考以下代码来创建基本的用户界面。
现在,我们已将Agora IOS SDK集成到项目中。下一步,我们将使用Agora IOS SDK在ViewController中提供的核心API来实现基本的实时视频函数。您可以提供开源互动互动示例openlive-ios-Agorab上的Agorab上的Objective-C和OpenLive-Swift.您可以在实施相关功能之前下载和查看源代码。
API调用的顺序如下图所示:
Image678×1184 83 KB
逻辑是根据以下步骤实现的:a)初始化agortitioninekit对象,在调用其他agora apis之前,您需要创建和初始化objectCengineKit Object.call sharedEngineWithAppid方法,并传递获得的应用程序ID以初始化Agort TrackingIneKit。
您还可以根据场景需求注册要收听的回调事件,例如本地用户加入频道并解码远程用户视频的第一帧。
b)设置频道方案以调用setChannelProfile方法,以将频道场景设置为实时广播。agortcenginekit只能使用一个频道场景。如果您想切换到其他频道方案,则需要调用销毁方法来销毁当前的当前方法AgorartCengineKit对象,然后使用sharedEngineWithAppid方法创建新对象,然后调用SetChannelProfile来设置新的频道方案。
c)设置用户角色实时通道:有两个用户字符:锚点和受众,默认字符是受众。将频道方案设置为实时广播后,您可以在以下步骤中参考用户角色应用程序:
请注意,实时通道中的用户只能看到锚点的图片和锚点的声音。加入通道后,如果要切换用户角色,也可以调用SetClientrole方法。
d)设置本地视图以成功初始化AgorartCengineKit对象,您需要在加入频道之前设置本地视图,以便在呼叫中查看本地映像。请参考以下步骤以设置本地视图:·call enableVideo启用视频模块的方法。
e)加入频道是同一实时视频中的人们的公共空间。完成初始化并设置本地视图(实时视频场景)后,您可以调用JoinChannelByToken方法以加入频道。您需要通过以下参数。此方法:
有关更多参数设置,请参阅JoinChannelByToken接口中的参数描述。
f)设置远程视图视频交互式直播,通常您还需要查看其他锚点。远程锚已成功加入该频道后,SDK将触发DIDJOINDINEDUINGUINFUID回调,该回调将包括此远程锚的UID信息,callback.call在此回调中的setUpremoteVideo方法,通过获得的UID,然后设置远程锚的视图。
g)根据场景需要离开频道,例如结束呼叫,关闭应用程序或应用程序开关到背景,请致电LeaveChannel离开当前的呼叫频道。
h)破坏AgorartCengineKit对象并离开频道。我们需要致电销毁以销毁AgortCengineKit对象,并释放Agora SDK使用的所有资源。
在这一点上,完成,跑步以查看效果。安装了带有两个手机的编译应用程序,添加相同的频道名称,然后选择锚点角色和受众角色。如果两部手机都可以自己看到同样的手机,则意味着您成功了。
如果您在开发过程中遇到问题,则可以访问论坛以与声音网络工程师提出问题(链接:https://rtcdeveloper.agora.agora./)1也可以访问背景以获得进一步的技术支持(链接(链接):https:/// agora-test.agora.io/ 2)
原始:https://juejin.cn/post/7096106448488235016