自從2016年,鼓吹「互聯網寒冬」的論調甚囂塵上,2017年亦有愈演愈烈之勢。但連麥直播、在線抓娃娃、直播問答、遠程狼人殺等類型的項目卻異軍突起,成了投資人的風口,創業者的藍海和用戶的必裝App,而這些方向的項目都有一個共同的特色——都依賴視頻通話和全互動直播技術。android
聲網Agora.io的SDK讓App和網站均可以實現高質量的音頻通話、視頻通話、全互動直播。我試着經過該SDK實現一個多人視頻通話應用。本文先分享集成的部分。程序員
環境網絡
聲網Agora.io SDK的兼容性良好,對硬件設備和軟件系統的要求不高,開發環境和測試環境知足如下條件便可:app
Android SDK API Level >= 16ide
Android Studio 2.0 或以上版本測試
支持語音和視頻功能的真機gradle
App 要求 Android 4.1 或以上設備網站
如下是我試用聲網Agora.io SDK的開發環境和測試環境:ui
開發環境spa
Windows 10 家庭中文版
Java Version SE 8
Android Studio 3.2 Canary 4
測試環境
Samsung Nexus (Android 4.4.2 API 19)
Mi Note 3 (Android 7.1.1 API 25)
集成
步驟一:首先點此下載完整的SDK和官方demo
步驟二:既然咱們要把聲網Agora.io集成到本身的項目裏,因此沒必要運行sample,咱們本身新建一個HelloAgora項目,注意必定要支持C++哦。
步驟三:把libs文件夾裏的arm64-v8a、、armeabi-v7a以及x86文件夾複製粘貼到app module的libs裏。若是有NDK開發的必要,則把libs->include文件夾裏的兩個.h頭文件複製粘貼到合適位置。
步驟四:首先在app module的build.gradle文件的android代碼塊中添加以下代碼:
sourceSets { |
而後在app module的build.gradle文件的android->defaultConfig代碼塊中添加以下代碼:
ndk { |
接下來在app module的build.gradle文件的dependencies代碼塊中添加以下代碼:
compile 'io.agora.rtc:full-sdk:2.0.0' |
若是用複製粘貼jar的方式,那麼此處添加以下代碼:
compile fileTree(dir: '../../../libs', include: ['*.jar']) |
若是有自定義NDK的必要,能夠繼續在app module的build.gradle文件的android代碼塊中添加以下代碼:
externalNativeBuild { |
而後在app module的build.gradle文件的android->defaultConfig代碼塊中添加以下代碼:
externalNativeBuild { |
最後sync一下,聲網Agora.io的SDK就集成到項目中來了。
權限
SDK集成完畢後,爲了保證SDK能正常運行,咱們須要在AndroidManisfest.xml 文件中聲明如下權限:
<!--容許程序鏈接網絡--> |
這些權限都是Android開發過程當中的常見權限,有經驗的程序員都會感受眼熟,WRITE_EXTERNAL_STORAGE等敏感權限適配Android 6.0之後版本的問題並不是本文關注重點,在此不作贅述。
混淆代碼
集成SDK並聲明瞭權限後,就該考慮混淆的問題了,咱們須要在project的proguard-rules.pro文件裏添加如下代碼:
-keep class io.agora.**{*;} |
通過以上過程後,咱們已經完成了聲網Agora.io SDK的快速集成,邁出了走向連麥直播、在線抓娃娃、直播問答、遠程狼人殺等風口的第一步。在接下來的文章裏,我將繼續分享APP ID鑑權、Token鑑權、一對一視頻聊天、建立羣聊room、分屏、窗口切換和先後攝像頭切換等內容。