本文介绍如何集成 ZIM Audio SDK。
在集成 ZIM Audio SDK 之前,请确保
目前支持的平台架构包括:armeabi-v7a、arm64-v8a、x86、x86_64。
开发者可通过以下任意一种方式实现集成 SDK。
配置 repositories 源
当您的 Android Gradle Plugin 为 v7.1.0 或以上版本:进入项目根目录,打开 “settings.gradle” 文件,在 “dependencyResolutionManagement” 中加入如下代码。
...
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://storage.zego.im/maven' }
mavenCentral()
google()
}
}
如果您在 “settings.gradle” 中找不到上述字段,可能是因为您的 Android Gradle Plugin 版本低于 v7.1.0。
若您的 Android Gradle Plugin 为 v7.1.0 以下版本:进入项目根目录,打开 “build.gradle” 文件,在 “allprojects” 中加入如下代码。
...
allprojects {
repositories {
maven { url 'https://storage.zego.im/maven' }
mavenCentral()
google()
}
}
声明依赖
进入 “app” 目录,打开 “build.gradle” 文件,在 “dependencies” 中添加 implementation 'im.zego:zim_audio:x.y.z'
,请从 发布日志 - ZIMAudio 查询 SDK 最新版本,并将 x.y.z
修改为具体的版本号。
...
dependencies {
...
implementation 'im.zego:zim-audio:x.y.z'
}
请参考 下载 SDK,下载最新版本的 SDK。
将 SDK 包解压至项目目录下,例如 “app/libs”。
添加 SDK 引用。进入到 “app” 目录,打开 “build.gradle” 文件。
在 “defaultConfig” 节点添加 “ndk” 节点,指定支持的架构。
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
在 “android” 节点添加 “sourceSets” 节点,指定 “libs” 所在目录。
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
在 “dependencies” 节点引入 “libs” 下所有的 jar。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
......
}
开发者可以根据实际应用需要,设置应用所需权限。
进入 “app/src/main” 目录,打开 “AndroidManifest.xml” 文件,添加权限。
<!-- SDK 必须使用的权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
由于 Android 6.0 及以上版本在一些比较重要的权限上要求必须申请动态权限,不能只通过 “AndroidMainfest.xml” 文件申请静态权限。因此还需要参考执行如下代码,其中 “requestPermissions” 是 “Activity” 的方法。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) !=
PackageManager.PERMISSION_GRANTED) {
String[] permissions = {Manifest.permission.RECORD_AUDIO};
requestPermissions(permissions, PERMISSION_REQUEST_CODE);
}
}
具体的权限说明如下:
必要性 | 权限 | 权限说明 | 申请原因 |
---|---|---|---|
必要权限 |
RECORD_AUDIO |
录制音频权限。 |
发送音频时需要使用该权限。 |
在 “proguard-rules.pro” 文件中,为 SDK 添加 -keep
类的配置,防止混淆 SDK 公共类名称。
-keep class **.zego.**{*;}
联系我们
文档反馈