火山引擎 RTC 提供了开源示例项目 API Example Demo。获取该项目后,你可以参照本文进行跑通,体验实时音视频功能;也能通过阅读代码,了解最佳实践。
Note
推荐使用真机进行调试,模拟机可能无法体验部分功能。真机连接指南参看在硬件设备上运行应用。
在开始集成 RTC SDK 前,请确保满足以下要求:
- Android Studio Arctic Fox | 2020.3.1 或以上版本(本文使用 Android Studio Giraffe | 2022.3.1 版本)
- Android 4.4 或以上版本的 Android 真机或模拟器
- Android 设备和开发电脑可以正常访问互联网
- 在火山引擎控制台上开通实时音视频服务,你需要从控制台获取 AppID 和 AppKey 用于项目跑通
你可以通过 GitHub 获取示例项目,具体指令如下:
git clone https://github.com/volcengine/VolcEngineRTC.git
cd VolcEngineRTC
git checkout mainAndroid/APIExample/app/src/main/java/rtc/volcengine/apiexample 目录结构如下:
.
├── BaseActivity.java
├── MainActivity.java
├── Utils
├── common
└── examples
├── QuickStartActivity.java // 快速开始 https://www.volcengine.com/docs/6348/70134
├── AudioMixing
│ ├── AudioEffectMixingActivity.java // 播放音效 https://www.volcengine.com/docs/6348/1178326
│ ├── AudioMediaMixingActivity.java // 播放音乐文件 https://www.volcengine.com/docs/6348/70141
│ └── AudioMixingActivity.java
├── CDNStreamActivity.java // 推流到 CDN https://www.volcengine.com/docs/6348/69817
├── CrossRoomPKActivity.java // 跨房 PK https://www.volcengine.com/docs/6348/104398
├── MultiRoomActivity.java // 多房间 https://www.volcengine.com/docs/6348/196844
├── PictureInPicture // 画中画 https://www.volcengine.com/docs/6348/1178325
├── PullStreamActivity.java // 本地拉流 RTMP https://www.volcengine.com/docs/6348/70140
├── RawAudioDataActivity.java // 原始音频数据 https://www.volcengine.com/docs/6348/1178324
├── SEIMessageActivity.java // 发送和接收媒体补充增强信息(SEI) https://www.volcengine.com/docs/6348/70140
├── StreamSyncInfoActivity.java // 音频随帧 https://www.volcengine.com/docs/6348/70140
├── ThirdBeauty
│ ├── Fubeauty // 自定义视频处理(相芯美颜) https://www.volcengine.com/docs/6348/79888
│ ├── ThirdBeautyActivity.java
│ └── byteBeauty // 智能美化特效(付费版) https://www.volcengine.com/docs/6348/114717
├── VideoConfigActivity.java // 视频参数配置 https://www.volcengine.com/docs/6348/70122
├── VoiceEffectActivity.java // 变声、混响、降噪 https://www.volcengine.com/docs/6348/1178327
└── mediaplayer
- 在控制台上获取 AppID 和 AppKey,并将其分别填入
Android/APIExample/app/src/main/java/rtc/volcengine/apiexample/common/Constants.java中的APP_ID和APP_KEY。请正确填写信息,否则编译无法成功。 - (可选)示例项目中智能美化特效、相芯美颜功能需要单独填写鉴权信息。不填写鉴权信息不会影响 Demo 的编译运行,但你将无法体验相关功能。
- 智能美化特效:
- 请联系智能美化特效商务团队获取特效证书和素材资源文件。
- 在
Android/APIExample/app/src/main/assets下新建cvlib文件夹,并将获取到的证书和素材资源文件放入cvlib文件夹中。 - 在
LicenseBag.bundle中获取证书文件的文件名,并将其填入Android/APIExample/app/src/main/java/rtc/volcengine/apiexample/common/Constants.java中的BYTE_EFFECT_LIC_NAME。例如public static final StringBYTE_EFFECT_LIC_NAME= "/rtc_xxx.vertcdemo.apiexample_4.5.2_805.licbag";。
- 相芯美颜:请联系相芯美颜商务团队 marketing@faceunity.com 获取证书,使用获取到的证书替换
Android/APIExample/faceunity/src/main/java/com/faceunity/nama路径下的authpack.java文件。
- 智能美化特效:
- 开启 Android 设备的开发者选项,打开 USB 调试,通过 USB 连接线将 Android 设备接入电脑,并在 Android 设备选项中勾选你的 Android 设备。详情参看在硬件设备上运行应用。
- 单击 Android Studio 窗口右上角的 Sync Project with Gradle Files(或使用 Shift ⇧ + Command ⌘ + O 快捷键)同步项目,拉取项目依赖。
- 单击 Android Studio 窗口右上角的 Run 'app' (或使用 Control ⌃ + R 快捷键)开始编译。
- 编译成功后,你的 Android 设备上会出现 API Example 应用,在弹窗中选择开启摄像头和麦克风权限。应用界面如下:


