91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android多人視頻聊天應用的開發(一)快速集成

發布時間:2020-08-10 23:26:31 來源:網絡 閱讀:4172 作者:東風玖哥 欄目:移動開發

自從2016年,鼓吹“互聯網寒冬”的論調甚囂塵上,2017年亦有愈演愈烈之勢。但連麥直播、在線抓娃娃、直播問答、遠程狼人殺等類型的項目卻異軍突起,成了投資人的風口,創業者的藍海和用戶的必裝App,而這些方向的項目都有一個共同的特點——都依賴視頻通話和全互動直播技術。

 

聲網Agora.io的SDK讓App和網站都可以實現高質量的音頻通話、視頻通話、全互動直播。我試著通過該SDK實現一個多人視頻通話應用。本文先分享集成的部分。

 

環境

聲網Agora.io SDK的兼容性良好,對硬件設備和軟件系統的要求不高,開發環境和測試環境滿足以下條件即可:

Android SDK API Level >= 16

Android Studio 2.0 或以上版本

支持語音和視頻功能的真機

App 要求 Android 4.1 或以上設備

 

以下是我試用聲網Agora.io SDK的開發環境和測試環境:

開發環境

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 {
    main {
        jniLibs.srcDirs = ['../../../libs']
    }
}

然后在app module的build.gradle文件的android->defaultConfig代碼塊中添加如下代碼:

ndk {
    abiFilters "armeabi-v7a", "x86"
}

接下來在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 {
    ndkBuild {
        path 'src/main/cpp/Android.mk'
    }
}

然后在app module的build.gradle文件的android->defaultConfig代碼塊中添加如下代碼:

externalNativeBuild {
    ndkBuild {
        arguments "NDK_APPLICATION_MK:=src/main/cpp/Application.mk"
    }
}

最后sync一下,聲網Agora.io的SDK就集成到項目中來了。

 

權限

SDK集成完畢后,為了保證SDK能正常運行,我們需要在AndroidManisfest.xml 文件中聲明以下權限:

<!--允許程序連接網絡-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允許程序錄制音頻-->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!--允許程序使用照相設備-->
<uses-permission android:name="android.permission.CAMERA" />
<!--允許程序修改全局音頻設置-->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!--允許程序獲取網絡狀態-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允許對存儲空間進行讀寫-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允許程序連接到已配對的藍牙設備-->
<uses-permission android:name="android.permission.BLUETOOTH" />

 

這些權限都是Android開發過程中的常見權限,有經驗的程序員都會感覺眼熟,WRITE_EXTERNAL_STORAGE等敏感權限適配Android 6.0以后版本的問題并非本文關注重點,在此不做贅述。

 

混淆代碼

集成SDK并聲明了權限后,就該考慮混淆的問題了,我們需要在project的proguard-rules.pro文件里添加以下代碼:

-keep class io.agora.**{*;}

 

經過以上過程后,我們已經完成了聲網Agora.io SDK的快速集成,邁出了走向連麥直播、在線抓娃娃、直播問答、遠程狼人殺等風口的第一步。在接下來的文章里,我將繼續分享APP ID鑒權、Token鑒權、一對一視頻聊天、創建群聊room、分屏、窗口切換和前后攝像頭切換等內容。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽库县| 芒康县| 高平市| 和林格尔县| 区。| 松滋市| 竹北市| 确山县| 盐池县| 定襄县| 桐乡市| 千阳县| 津南区| 万荣县| 滁州市| 栖霞市| 江油市| 大渡口区| 曲麻莱县| 江达县| 正安县| 砚山县| 道孚县| 恩施市| 徐州市| 延安市| 乳山市| 康保县| 岑巩县| 凌源市| 和田市| 颍上县| 叙永县| 图们市| 称多县| 宜城市| 贺兰县| 英吉沙县| 临沂市| 翁源县| 喀喇|