亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

浑源县| 淳化县| 昭苏县| 扬州市| 吉木乃县| 阳高县| 西宁市| 平邑县| 静安区| 廊坊市| 达孜县| 伊金霍洛旗| 泾川县| 凉山| 海盐县| 云安县| 伽师县| 鄂托克前旗| 新平| 离岛区| 临城县| 巴林右旗| 兰西县| 利辛县| 凤台县| 贺州市| 安仁县| 凌源市| 乌拉特中旗| 宝坻区| 个旧市| 镇宁| 上饶县| 塔河县| 米脂县| 嘉黎县| 千阳县| 桃园县| 贡觉县| 泽州县| 许昌市|