提交工单
 咨询集成、功能及报价等问题
登录房间成功后,SDK 会自动拉流播放直播。用户无需手动触发拉流
但如果想获取播放流状态,需要进行回调对象指针的设置。
参考文档:快速开始-初始化
调用如下 API 设置播放回调对象指针。设置回调对象指针失败,会导致 App 收不到相关回调。
AudioRoom-Player.h
/**
 设置直播观众相关信息通知的回调
 @param pCB 回调对象指针
 @return true 成功,false 失败
 */
 bool SetAudioLivePlayerCallback(IAudioLivePlayerCallback *pCB);
调用如下 API 登录房间。无论是手动/自动发布直播模式,登录房间后,SDK 均会自动拉流,无需用户手动操作
AudioRoom.h
/**
 登录房间
 @param pszRoomID 房间 ID,App 需保证其唯一性,长度不可超过 255 byte
 @return true:登录成功,false:登录失败
 @attention 登录房间后,等待 IAudioRoomCallback::OnLoginRoom 回调
 */
 bool LoginRoom(const char* pszRoomID);
AudioRoomCallback.h
/**
 登录房间成功回调
 @param errorCode 错误码,0 表示无错误
 @param pszRoomID 房间 ID
 */
 virtual void OnLoginRoom(int errorCode, const char *pszRoomID) = 0;
常见登录错误码参考如下:
| 错误码 | 说明 | 
|---|---|
| stateCode = 0 | 登录成功 | 
| stateCode = -1 | 没有配置为测试环境,请调用 SetUseTestEnv(true) | 
| stateCode = -2 | 调用次数太频繁,超出后台限制。请调整调用次数,每分钟最多 30 次 | 
| stateCode = 1042 | 网络连不上,请检查当前网络是否正常 | 
| stateCode = 4131 | 网络连接失败,一般由于网络波动或其他异常导致,请检查当前网络是否正常 | 
| stateCode = 1048677 | 测试环境或正式环境设置错误。如果使用测试环境, 请确保在初始化 SDK 之前调用 SetUseTestEnv(true)  | 
| stateCode = 1048680 | 房间不存在,请检查房间是否存在 | 
请注意,参数 pszRoomID,是由 App 业务端定义、实现并传入的。开发者在定义 pszRoomID 时需要确保在同一时刻是唯一的。
自动播放开始后,开发者需在如下回调中处理播放状态和流信息
AudioRoom-Player.h
/**
 播放状态更新回调
 @param stateCode 状态码
 @param pStreamInfo 流信息
 @note 调用 SetAudioLivePlayerCallback 设置回调对象指针成功后,客户端才能收到此回调
 */
 virtual void OnPlayStateUpdate(int stateCode, const ZegoStreamInfo& pStreamInfo) = 0;
常见播放错误码参考如下:
| 错误码 | 说明 | 
|---|---|
| stateCode = 0 | 拉流成功 | 
| stateCode = 3 | 直播遇到严重错误。(如出现,请联系 ZEGO 技术支持) | 
| stateCode = 5 | 获取流信息失败。请检查:1.推流方是否推流成功。2.延迟重试 | 
| stateCode = 6 | 流不存在。请检查:1.AppID 是否相同,要保证一致。2.是否同时开启测试环境或同时在正式环境下 | 
| stateCode = 7 | 媒体服务器连接失败。请检查:1.推流端是否正常推流。2.正式环境和测试环境是否设置都是同一个。 3.网络是否正常  | 
| stateCode = 8 | DNS 解析失败。请检查网络是否正常 | 
| stateCode = 9 | 未 loginRoom 就直接 play/publish。请确认推流前已 loginRoom | 
| stateCode = 10 | 逻辑服务器网络错误(网络断开约 3 分钟时会返回该错误)。请检查网络是否正常 | 
调用如下 API 退出房间。无论是手动/自动发布直播模式,退出房间后,会停止所有的拉流,无需用户手动停止拉流
AudioRoom.h
/**
 退出房间
 @return 成功,false 失败
 @attention 退出登录后,等待 IAudioRoomCallback::OnLogoutRoom 回调
 @note 退出房间会停止所有的推拉流
 */
 bool LogoutRoom();
AudioRoomCallback.h
/**
 退出房间回调
 @param errorCode 错误码,0 表示无错误
 @param pszRoomID 房间 ID
 */
 virtual void OnLogoutRoom(int errorCode, const char *pszRoomID) {}

联系我们
文档反馈