当前位置: 首页 > 网络应用技术

基于Windows的Agora SDK实现的多人视频互动(基于版本3.6.2)

时间:2023-03-09 13:52:57 网络应用技术

  本文介绍了如何通过Agora SDK快速实现Windows平台上的交互式实时广播。交互式实时广播与真实时间呼叫之间的差异是实时频道上的用户具有字符。您可以将角色设置为锚定或受众。其中,锚可以收集,头发流动,观众只能收集流动。

  Agora在GitHub上提供了开源实时音频和视频通话示例OpenLive-Windows。在实现相关功能之前,您可以下载和查看源代码:https://github.com/agoraio/basic-video-boadcasting/master/OpenLive-Windows-MFC

  如果您的网络环境通过防火墙部署,请根据“应用程序企业防火墙限制”在声音网络文档的中心打开相关端口。

  设置开发环境

  本节介绍了如何创建项目并将Agora SDK集成到您的项目中。

  请参考以下步骤创建Windows项目。如果您已经拥有Windows项目,请直接检查集成的SDK。

  1.打开Microsoft Visual Studio,然后单击新项目。

  2.输入新项目窗口,选择项目类型作为MFC应用程序,输入项目名称,选择项目存储路径,然后单击确认。

  3.输入MFC应用程序窗口,选择应用程序类型作为对话框,然后单击以完成。

  请参阅以下步骤,将Agora SDK集成到您的项目中。

  1.配置项目文件

  2.配置项目属性

  在“解决方案资源管理器”窗口中,右键单击项目名称,然后单击以下配置的属性。配置完成后,单击“确定”。

  本节介绍了如何实现音频和视频实时。请参阅下面的图以使用实时视频的API使用:

  为了直观地体验音频和视频通话,需要根据应用程序方案创建用户界面(UI)。如果项目中有一个用户界面,请直接检查初始的IRTCENGINE。

  如果要实现实时视频,建议将以下控件添加到UI:

  当您在示例项目中使用UI设计时,您将看到以下接口:

  在调用其他Agora API之前,您需要创建和初始化IRTCENGINE对象。

  您需要在此步骤中填写项目的应用程序ID。请参考以下步骤创建Agora项目并在控制台中获取应用程序ID。

  1.登录到控制台,单击左导航栏上的项目管理图标。

  2.单击以创建,根据屏幕提示设置项目名称,选择权限机制,然后单击以提交。

  3.在项目管理页面上,您可以获取项目的应用ID。

  Image1019×537 52.3 KB

  呼叫和方法,传递获得的应用程序ID,您可以初始化。您还可以根据需要在初始化期间实现其他功能。如果注册用户加入频道并留下频道的回调(在agoraobject.h中声明)。

  初始化后,将调用方法设置为设置频道模式进行实时。

  IRTCENENE只能使用一个通道模式。如果要切换到其他模式,则需要调用该方法以发布当前的IRTCENGINE实例,然后调用和方法创建新示例,然后调用新的频道模式。

  实时广播频道中有两个用户角色:锚点和受众,其中默认角色是受众。将频道模式设置为实时广播后,您可以在应用程序中以下步骤中参考用户角色:

  请注意,实时通道中的用户只能看到锚点的图片和锚点的声音。加入通道后,如果要切换用户角色,也可以调用该方法。

  如果您想实时广播,可以直接查看加入频道。

  成功初始化IRTCENGINE对象后,您需要在加入频道之前设置本地视图,以便锚点可以在Live Broadcast中看到本地映像。引用以下步骤以设置本地视图(OpenLiveLiveig.cpp):

  完成角色和本地视图(实时视频场景)后,您可以调用加入频道的方法。您需要在此方法中传递以下参数:

  有关更多参数设置,请在接口中查找并引用参数描述。

  在实时视频中,无论您是锚点还是观众,都应该看到频道中的所有锚。加入频道后,您可以通过呼叫来设置远程锚的视图。

  成功加入频道后,SDK将触发回调,回调将包括锚点的信息。在此回调中添加方法,然后将其输入,并设置Anchor的视图(AgeEngineEngineEventHandler.H)。

  根据场景的需求,如果呼叫,请关闭应用程序或App Switch到背景,请呼叫保留当前呼叫频道。

  您可以在OpenLive-Windows示例代码中查看完整的源和代码逻辑。本文使用C ++ MFC项目。

  github:https://github.com/agoraio/basic-dideo-broidcasting/tree/master/openlive-windows-mfcc

  在Windows设备中运行项目。当视频成功广播时,锚可以看到他自己的图片。受众可以看到锚点的屏幕(当前配置是调试模式,X64系统)。

  //打开接口

  //测试相机

  //开始实时广播,厚代码

  Image938×715 109 KB

  原始:https://juejin.cn/post/7096861976361435150