注意:如果使用 SDK 源代码构建,
development
分支包含最新的更改,可能无法与公开可用的 Chime 媒体库一起构建,或者可能不如公开发布版本稳定。
适用于 Android 的 Amazon Chime SDK 通过使用为 Amazon Chime 服务上的会议提供支持的相同基础设施服务,可以轻松地将协作音频通话、视频通话和屏幕共享查看功能添加到 Android 应用程序中。
这个适用于 Android 的 Amazon Chime SDK 通过连接到您在 AWS 账户中创建的会议会话资源来工作。该 SDK 包含在 Android 应用程序中构建自定义通话和协作体验所需的一切,包括以下方法:配置会议会话、列出和选择音频设备、切换视频设备、开始和停止屏幕共享查看、在发生媒体事件(如音量变化)时接收回调,以及管理会议功能(如音频静音和视频图块绑定)。
我们还有一个 Amazon Chime SDK 项目看板,您可以在那里找到社区请求及其状态。
要开始使用,请参阅以下资源:
并查看以下指南:
注意:如果您只想运行演示应用程序,请跳到运行演示应用程序
适用于 Android 的移动 SDK 可以从 Maven Central 存储库下载,通过集成到您的 Android 项目的 Gradle 文件中,或者可以通过 .aar 文件直接嵌入。
为了设置,您项目的根文件夹将被称为 root
。
要从 Maven 获取依赖项,请将依赖项添加到您的应用程序的(模块级)build.gradle
中。
更新 root/app
中的 build.gradle
,并在 dependencies
下添加以下内容:
dependencies {
implementation 'software.aws.chimesdk:amazon-chime-sdk-media:$MEDIA_VERSION'
implementation 'software.aws.chimesdk:amazon-chime-sdk:$SDK_VERSION'
}
版本号可以从最新的发布版本获取。
如果您不需要视频和内容共享功能,或软件视频编解码器支持,可以使用 amazon-chime-sdk-media-no-video-codecs
来减小大小。从 amazon-chime-sdk
的传递依赖中排除 amazon-chime-sdk-media
模块和/或 amazon-chime-sdk-machine-learning
模块的使用:
dependencies {
implementation 'software.aws.chimesdk:amazon-chime-sdk-media-no-video-codecs:$MEDIA_VERSION'
implementation ('software.aws.chimesdk:amazon-chime-sdk:$MEDIA_VERSION') {
exclude module: 'amazon-chime-sdk-media'
exclude module: 'amazon-chime-sdk-machine-learning'
}
}
项目现在可以构建 Arm 和 x86 目标,这在打包应用程序时可能有用。x86 目标将无法运行,也不打算在任何 x86 设备或模拟器上安装或运行。 重要:仅支持 Arm 设备。
如果您需要媒体二进制文件中的非功能性 x86 存根以打包您的应用程序,可以在您选择的媒体依赖项后附加 -x86-stub
。例如:
dependencies {
implementation 'software.aws.chimesdk:amazon-chime-sdk-media-no-video-codecs-x86-stub:$MEDIA_VERSION'
implementation ('software.aws.chimesdk:amazon-chime-sdk:$MEDIA_VERSION') {
exclude module: 'amazon-chime-sdk-media'
exclude module: 'amazon-chime-sdk-machine-learning'
}
}
要在您自己的项目中包含 SDK 二进制文件,请按照以下步骤操作。
从最新的发布版本下载 amazon-chime-sdk
和 amazon-chime-sdk-media
二进制文件。
如果您想使用更多机器学习功能,例如背景模糊/替换,还请从最新的发布版本下载 amazon-chime-sdk-machine-learning
二进制文件。否则,您可以忽略以下说明中所有关于 amazon-chime-sdk-machine-learning
的引用。
如果您不需要视频和内容共享功能,或软件视频编解码器支持,可以使用 amazon-chime-sdk-media-no-video-codecs
代替 amazon-chime-sdk-media
来排除软件视频编解码器支持并减小大小。如果是这样,您可以在以下说明中将所有对 amazon-chime-sdk-media
的引用视为 amazon-chime-sdk-media-no-video-codecs
。
项目现在可以构建 Arm 和 x86 目标,这在打包应用程序时可能有用。x86 目标将无法运行,也不打算在任何 x86 设备或模拟器上安装或运行。 重要:仅支持 Arm 设备。
如果您需要非功能性 x86 存根与完全功能的 arm 架构结合以打包您的应用程序,可以使用 amazon-chime-sdk-media-x86-stub
或 amazon-chime-sdk-media-no-video-codecs-x86-stub
媒体二进制文件,并在以下说明中将它们替换为 amazon-chime-sdk-media
引用。
注意:我们不支持混合使用不同发布版本的二进制文件。
解压缩它们并将 aar 文件复制到 root/app/libs
在 root
中更新 build.gradle
,在 allprojects
的 repositories
下添加以下内容:
allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
}
在 root/app
中更新 build.gradle
,并在 dependencies
下添加以下内容:
implementation(name: 'amazon-chime-sdk', ext: 'aar')
implementation(name: 'amazon-chime-sdk-media', ext: 'aar')
如果您使用 amazon-chime-sdk-machine-learning
库,那么也在 dependencies
下添加以下语句:
implementation(name: 'amazon-chime-sdk-machine-learning', ext: 'aar')
在 root/app
的 build.gradle
中的 compileOptions
下更新:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
注意:这仅用于运行演示应用程序,并使用 SDK 作为代码而不是 aar 库。
要运行演示应用程序,请按照以下步骤操作。
注意:请确保您在支持 ARM 的设备(真实设备)或支持 arm 的模拟器上运行。我们目前不支持 x86,因此带有 x86 的模拟器将无法工作。
从 amazon-chime-sdk-js 部署无服务器演示,它将返回 https://xxxxx.xxxxx.xxx.com/Prod/
为移动演示应用程序提供 https://xxxxx.xxxxx.xxx.com/Prod/
。
从最新的发布版本下载 amazon-chime-sdk-media
二进制文件。
下载 amazon-chime-sdk-machine-learning
二进制文件以获取机器学习功能。
解压缩并将 aar 文件复制到 amazon-chime-sdk-android/amazon-chime-sdk/libs
在 amazon-chime-sdk-android/app/src/main/res/values
路径下的 strings.xml
中更新 test_url
,使用步骤 1 中部署的无服务器演示的 URL。
注意:使用
https://xxxxx.xxxxx.xxx.com/Prod/
如果您在此项目中发现潜在的安全问题,我们请您通过我们的漏洞报告页面通知 AWS/Amazon 安全团队。请不要创建公开的 GitHub 问题。
您需要开始会议会话才能开始发送和接收音频。
使用默认配置开始会话:
meetingSession.audioVideo.start()