火山引擎 RTC 提供了开源示例项目 API Example Demo。获取该项目后,你可以参照本文进行跑通,体验实时音视频功能;也能通过阅读代码,了解最佳实践。

前提条件

说明

推荐使用真机进行调试,模拟机可能无法体验部分功能。真机连接指南参看在硬件设备上运行应用。

在开始集成 RTC SDK 前,请确保满足以下要求:

获取示例项目

你可以从以下方式中选择一种获取示例项目:

Android/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
配置示例项目
  1. 在控制台上获取 AppID 和 AppKey,并将其分别填入 Android/APIExample/app/src/main/java/rtc/volcengine/apiexample/common/Constants.java 中的 APP_ID 和 APP_KEY。请正确填写信息,否则编译无法成功。
  2. (可选)示例项目中智能美化特效、相芯美颜功能需要单独填写鉴权信息。不填写鉴权信息不会影响 Demo 的编译运行,但你将无法体验相关功能。
    • 智能美化特效:
      1. 请联系智能美化特效商务团队获取特效证书和素材资源文件。
      2. 在 Android/APIExample/app/src/main/assets 下新建 cvlib 文件夹,并将获取到的证书和素材资源文件放入 cvlib 文件夹中。
      3. 在 LicenseBag.bundle 中获取证书文件的文件名,并将其填入 Android/APIExample/app/src/main/java/rtc/volcengine/apiexample/common/Constants.java 中的 BYTE_EFFECT_LIC_NAME。例如 public static final String BYTE_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 文件。
编译并运行示例项目
  1. 开启 Android 设备的开发者选项,打开 USB 调试,通过 USB 连接线将 Android 设备接入电脑,并在 Android 设备选项中勾选你的 Android 设备。详情参看在硬件设备上运行应用。
  2. 单击 Android Studio 窗口右上角的 Sync Project with Gradle Files(或使用 Shift ⇧ + Command ⌘ + O 快捷键)同步项目,拉取项目依赖。
  3. 单击 Android Studio 窗口右上角的 Run 'app' (或使用 Control ⌃ + R 快捷键)开始编译。
  4. 编译成功后,你的 Android 设备上会出现 API Example 应用,在弹窗中选择开启摄像头和麦克风权限。应用界面如下:
常见问题
相关文档