火山引擎 RTC 提供了开源示例项目 API Example Demo。获取该项目后,你可以参照本文进行跑通,体验实时音视频功能;也能通过阅读代码,了解最佳实践。
说明
推荐使用真机进行调试,模拟机可能无法体验部分功能。真机连接指南参看在硬件设备上运行应用。
在开始集成 RTC SDK 前,请确保满足以下要求:
你可以从以下方式中选择一种获取示例项目:
下载离线包。
通过 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
Android/APIExample/app/src/main/java/rtc/volcengine/apiexample/common/Constants.java
中的 APP_ID
和 APP_KEY
。请正确填写信息,否则编译无法成功。Android/APIExample/app/build.gradle
中的 applicationId
与申请特效证书时使用的 ApplicationID
保持一致。Android/APIExample/app/src/main/assets
下新建 cvlab
文件夹,并将获取到的证书和素材资源文件放入 cvlab
文件夹中。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";
。Android/APIExample/faceunity/src/main/java/com/faceunity/nama
路径下的 authpack.java
文件。为更好地体验实时音视频互动效果,你可以邀请一位朋友使用另一台设备运行该示例项目(需确保两个设备配置示例项目时填入的 App ID 和 AppKey 一致)。当你们输入相同的房间名加入房间后,即可在同一房间中体验音视频通话。