You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Agora iOS SDK 观众加入频道显示加载页及检测主播离线API使用问题

可用AgoraRtcEngineDelegate相关API及实现方案
  • rtcEngine:didJoinedOfUid:elapsed:
    有远端用户加入频道时该回调会触发。观众加入频道时如果主播已在频道内,你会立刻收到对应主播uid的该回调,可直接标记主播在线。如果你的场景是固定uid的单主播模式,直接匹配回调返回的uid即可;多主播场景可维护在线主播uid列表做统一管理。
  • rtcEngine:userOffline:reason:
    远端用户主动离开频道或网络异常掉线时触发该回调,你可以在这里将对应uid从在线列表移除,同步更新UI展示主播离线提示。
  • 配合加入频道成功回调做超时兜底
    调用joinChannelByToken:channelId:info:uid:joinSuccess:加入频道收到成功回调后,启动一个自定义倒计时(推荐3~5秒,可根据业务场景调整),倒计时结束后如果既没有收到对应主播uid的加入回调,也没有收到remoteVideoStateChangedOfUid返回的.decoding状态,直接判定主播未在线,关闭加载页展示离线提示,刚好覆盖你遇到的「进频道时主播已离线无回调触发」的场景。

优化建议

你当前用remoteVideoStateChangedOfUid监听.decoding状态的逻辑可以保留,在收到主播加入回调后,再等视频流解码成功再切播放页,可以避免主播在线但推流异常导致的播放失败问题。


内容的提问来源于stack exchange,提问作者Matsumoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:45:03