内容提要
本文介绍了使用ZEGO超低延迟直播SDK的Java开发实现直播功能的流程,包括准备环境、创建界面、创建引擎、登录房间、主播预览和推送音视频流、拉取主播音视频、停止直播、退出房间和销毁引擎等步骤,并提供了调试直播功能的方法。
延伸解读
开发环境与集成前提
文章明确要求使用 Android Studio 2020.3.1 或以上版本、Android SDK 25 及以上,并需在 ZEGO 控制台创建项目获取 AppID。这意味着该方案面向 Android 原生开发,而非纯 Java 后端。开发者需提前完成 SDK 集成和 AppID 申请,否则无法进入后续流程。
房间与流 ID 的唯一性约束
文章强调同一个 AppID 内 roomID、userID 和 streamID 都必须全局唯一。若不同用户推送相同 streamID,后推流者会失败。这要求开发者在业务层设计好 ID 生成规则,建议将 userID 与自身账号系统关联,避免冲突导致直播异常。
超低延迟直播需单独开通
超低延迟直播和 CDN 直播功能并非默认开启,需在 ZEGO 控制台自助开通或联系技术支持。拉流时通过设置 resourceMode 为 ONLY_L3 来使用超低延迟模式。若未开通,相关功能将无法正常使用,开发者需提前确认服务配置。
资源释放与调试建议
停止直播时应依次调用 stopPublishingStream、stopPreview 和 stopPlayingStream,退出房间后调用 logoutRoom,彻底不用时再 destroyEngine 释放麦克风、摄像头等资源。调试时可利用 ZEGO 提供的 Web 端示例,输入相同 AppID、RoomID、Token 与真机互通,快速验证推拉流是否成功。
Q&A
如何准备Java直播开发的环境?
需要使用Android Studio 2020.3.1或以上版本,Android SDK 25及以上版本,并确保设备连接到互联网。
Java直播功能的基本实现流程是什么?
用户A和B加入房间,用户B预览并推送音视频流,用户A接收并播放用户B的音视频流。
如何创建直播界面?
在项目中添加本地视频窗口、远端视频窗口和结束直播按钮等元素。
如何登录直播房间?
生成Token后,调用loginRoom接口登录房间,确保roomID和userID全局唯一。
如何停止直播和退出房间?
调用stopPublishingStream和stopPlayingStream接口停止推流和拉流,然后调用logoutRoom接口退出房间。
如何调试Java直播功能?
在真机中运行项目,并使用ZEGO提供的Web端调试示例,输入相同的AppID、RoomID和Token以加入同一房间。