You need to enable JavaScript to run this app.
导航

Android

最近更新时间2024.04.22 17:52:21

首次发布时间2021.09.23 13:17:33

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

前提条件

说明

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

在开始集成 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 main
    

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_IDAPP_KEY。请正确填写信息,否则编译无法成功。
  2. (可选)示例项目中智能美化特效、相芯美颜功能需要单独填写鉴权信息。不填写鉴权信息不会影响 Demo 的编译运行,但你将无法体验相关功能。
    • 智能美化特效
      1. 请联系智能美化特效商务团队获取特效证书和素材资源文件。
      2. 确保 Android/APIExample/app/build.gradle 中的 applicationId 与申请特效证书时使用的 ApplicationID 保持一致。
      3. Android/APIExample/app/src/main/assets 下新建 cvlab 文件夹,并将获取到的证书和素材资源文件放入 cvlab 文件夹中。
      4. 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 应用,在弹窗中选择开启摄像头和麦克风权限。应用界面如下:

常见问题

相关文档