声网社区版 UWP SDK 发布,实时音视频助力 UWP 开发者

近期,我们听到了越来越多来自社区开发者的声音,希望声网的实时音视频 SDK 可以提供对于微软 UWP 的支持。声网与社区开发者陈实合作,经过一段时间的开发、测试与完善,终于完成了首个声网音视频 SDK 的 UWP 社区版。通过集成该版本的 SDK,开发者可以在 UWP 应用中快速实现实时音视频通话的相关功能。

架构说明

UWP SDK 整个架构分为两个主要部分,AgoraWinRT 和 AgoraUWP。AgoraWinRT 是对 Agora C++ 的封装,而AgoraUWP 则是对 AgoraWinRT 的封装。

AgoraWinRT 针对 Agora C++ 的 API 进行封装,封装时除了命名空间(namespace)在 AgoraWinRT 命名空间下之外,其中的函数名称、类型名称都与 Agora C++ 一致,也方便开发者直接查阅声网官方的 C++ 接口文档作为参考。

而 AgoraUWP 是针对 UWP 平台实现的对 AgoraWinRT 的 C# 封装,并在 AgoraWinRT 的基础上,提供了VideoDeviceManager、视频采集与渲染功能。同时,缺省的实现了AgoraRtcEventHandler、VideoFrameObserver、AudioFrameObserver 三个接口,并将其中的函数转而实现为 C# 风格的事件。

其实现时的函数、类型、方法等名称原则与 AgoraWinRT 中一样,除了命名空间为 AgoraUWP 外,都与 Agora C++ SDK 中保持一致。

应用实例

配合声网 UWP SDK,我们还提供了配套的 Demo 供开发者参考。在示例 Demo 中共提供了三种模式:

1.使用 SDK 内部采集模式

直接使用 SDK 内部的音视频采集,用户不用关心采集部分,只用关心业务部分。

2.使用音频自采集

演示了如何进行使用 GeneralMediaCapturer 进行音频自采集,作为示例,使用者可参考并实现自己的音频自采集方法。

3.使用音频自渲染

演示了如何使用 AudioGraph 结合 PullAudioFrame 对外部音频进行渲染。

除此之外,示例 Demo 中还展示了如何调整分辨率、帧率、码率等等。


图:接口调用时序图

获取声网 UWP SDK

想要了解更多关于 UWP SDK 的信息及使用方法,请访问 GitHub 仓库:

https://github.com/AgoraIO-Community/AgoraUWP

欢迎加入声网 UWP SDK 开发者讨论群,跟我们聊聊你还希望有哪些优化,也可以与大家聊聊你做了哪些实践。

UWP开发者交流群:point_right:

扫码加入群聊

52dcad8a351fd5f4daa22db6dbb457b4