我与声网 Agora
自从 2016 年,鼓吹“互联网寒冬”的论调甚嚣尘上,2017 年亦有愈演愈烈之势。但连麦直播、在线抓娃娃、直播问答、远程狼人杀等类型的项目却异军突起,成了投资人的风口,创业者的蓝海和用户的必装 App,而这些方向的项目都有一个共同的特点——都依赖视频通话和全互动直播技术。
声网 Agora. io 是首家为 App 开发者提供全球范围实时音视频通信服务的服务商,在全球部署了超过 200 个数据中心,搭建 SD-RTNM( Software Defined Real Time Netwo)这个专为「实时」所设的虚拟通信网,来极大优化全球范围内的实时传输。声网 Agora.io 为开发者提供有质量保证 QoE
声网 Agora 提供了高质量的视频通信 SDK,不仅覆盖了主流的操作系统,集成效率也比较高,而且还支持包括聊天,会议,直播等功能在内的多个模式的视频通话。SDK 中 API 设计基本能够满足大部分的开发需要,而且隐藏了底层开发,只需要提供 SurfaceView 和 UID 即可播放视频,这样对于 App 层的开发者来说十分友好。非常适合有视频聊天开发需求的开发者。在视频领域创业大爆发的今天,建议更多的想要从事该领域的开发者可以尝试下。
环境
声网 Agora.io SDK 的兼容性良好,对硬件设备和软件系统的要求不高,开发环境和测试环境满足以下条件即可:
Android SDK API Level >= 16
Android Studio 2.0 或以上版本
支持语音和视频功能的真机
App 要求 Android 4.1 或以上设备
APP ID 鉴权
所谓 APP ID,就是在 Agora 创建每个项目都有的一个唯一标识。App ID 可以明确你的项目及组织身份,并在 joinChannel 方法中作为参数,连接到 Agora 实时网络中,实现实时通信或直播功能。不同的 App ID 在 Agora 实时网络中的通话是完全隔离的;Agora 提供的频道信息、计费、管理服务也都是基于 App ID。
Token 鉴权
在通信和直播场景中存在着多个角色,而每种角色又对应着一些默认权限。比如在直播场景中,主播可以发布流、订阅流、邀请嘉宾;观众可以订阅流、申请连麦;管理员则可以踢人或禁言。
初始化 Agora
RtcEngine 类包含应用程序调用的主要方法,调用 RtcEngine 的接口最好在同一个线程进行,不建议在不同的线程同时调用。
打开视频模式
enableVideo()方法用于打开视频模式。可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启视频模式,在通话中调用则由音频模式切换为视频模式。调用 disableVideo()方法可关闭视频模式。
加入一个频道
joinChannel(String token,String channelName,String optionalInfo,int optionalUid )方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的应用程序是不能互通的。如果已在通话中,用户必须调用 leaveChannel()退出当前通话,才能进入下一个频道。
以上是一次简单的 demo 尝试,总体来说感觉还是非常不错的,往后可以在需求场景下多加尝试,期待有更高的表现。
评论