本文为大家分享的是一个用于演示如何基于 Zego Express SDK 快速实现 Android 端视频直播场景的示例 Demo(命名为EasyLiveExample),代码非常简单易懂,可用作首次开发的参考。
直播Demo预览效果
Demo 简介
点击此处下载代码
EasyLiveExample 为开发者提供一站式服务,构建交互式直播流媒体体验。您可以使用 ZEGO 提供的音频效果、面部美颜等功能,创建单主播、多主播的直播会话。
使用 EasyLiveExample,用户可以创建直播间,用于主持、观看直播,邀请直播间的观众连麦等;观众可以发送短信与主播实时互动。
EasyLiveExample 可以覆盖的典型场景包括视频直播、在线课程直播、直播购物、电子商务、游戏直播等。
Demo 运行指引
前提条件
- Android Studio 2020.3.1 或以上版本。
- Android SDK 30、Android SDK Platform-Tools 30.x.x 或以上版本。
- Android 4.1 或以上版本,且支持音视频的 Android 设备或模拟器(推荐使用真机),如果是真机,请开启“允许调试”选项。
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目管理 中的“项目信息”。
- 请联系 ZEGO 技术支持,开通 EasyLiveExample(RTC + IM)服务权限。
修改项目配置
- 拷贝示例源码到本地。
- 打开终端,切换到源码项目所在路径。
- 执行
./configure.sh
命令,然后输入 ZEGO 控制台获取到的 AppID 和 AppSign,运行配置脚本。
注意:如果您使用的是 Windows 系统,请双击 configure.bat
运行配置脚本。
开始运行
- 在 Android Studio 中打开 EasyLiveExample 源码。
- 将 Android 设备链接到开发电脑,并开启“开发者模式”和“USB 调试”功能。
- 当 Android Studio 上方的 “Running Devices” 选项框选择到该设备时,单击 “Run” 按钮,编译并运行示例源码。
项目目录结构
示例源码项目中,包含两个模块:zegolive 和 app。
EasyLiveExample
EasyLiveExample 具备可重用性,并进一步封装了 RTC 和 IM SDK,助力开发者轻松集成使用。
目录路径:
{your_project_root_path}/live_android/zegolive/src/main/java/im/zego/live:
.
├── ZegoRoomManager.java ------ Room 相关实例,用于初始化 SDK, 提供业务服务实现能力
├── ZegoZIMManager.java ------ ZIM 实例
├── callback
├── constants
├── helper
├── http
├── listener
├── model
├── service
│ ├── ZegoDeviceService.java ------ 流、设备相关服务,例如推流、拉流、音视频配置
│ ├── ZegoFaceBeautifyService.java ------ 美颜
│ ├── ZegoMessageService.java ------ 实时消息
│ ├── ZegoRoomListService.java ------ 业务服务相关,例如房间列表更新,心跳等
│ ├── ZegoRoomService.java ------ 房间相关,例如进入/离开房间,更新房间信息等
│ ├── ZegoSoundEffectService.java ------ 音效
│ └── ZegoUserService.java ------ 用户相关,例如上/下麦,开/关 麦克风/摄像头,连麦等
└── util
app
EasyLiveExample 实现了业务和 UI 交互逻辑,包括登录、房间列表、直播、美颜、音效等。
目录路径:
{your_project_root_path}/live_android/app/src/main/java/im/zego/live:
.
├── App.java ------ 资源包,SDK 初始化等
├── base
├── constants
├── feature ------ 核心功能业务逻辑
│ ├── live ------ 直播间
│ ├── login ------ 登录
│ ├── room ------ 房间列表
│ ├── settings ------ 设置
│ └── webview ------ app 内的 view
├── helper ------ Utilities
└── view ------ 自定义 UI
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/36744.html