Agora iOS SDK:远端屏幕共享视频无法在视图中显示的问题求助
Agora iOS SDK:远端屏幕共享视频无法在视图中显示的问题求助
嗨,我之前也踩过Agora屏幕共享的类似坑,结合你给出的代码片段,给你梳理几个大概率的排查方向,你可以逐个试试:
- 先盯紧
isStreamActive这个变量!你代码开头就判断它的状态,如果它是false会直接return,你可以先看控制台有没有打印"FOO: Screen share not active...",要是有的话,先排查这个变量为什么没被正确设为true——是不是远端发起共享的信号没传到本地,或者你监听共享状态的逻辑出了问题? - 检查视频画布的设置是否完整:你创建完共享视图后,有没有给Agora的
AgoraRtcVideoCanvas正确绑定这个视图?必须把你的共享视图赋值给canvas的view属性,还要设置好渲染模式,最后调用setupRemoteVideo才算完成,比如:
let shareView = UIView() // 记得把shareView加到父视图,设置好frame或自动布局约束 let videoCanvas = AgoraRtcVideoCanvas() videoCanvas.uid = uid videoCanvas.view = shareView videoCanvas.renderMode = .fit agoraEngine.setupRemoteVideo(videoCanvas)
- 权限和引擎基础配置:iOS端的屏幕共享依赖广播扩展(Broadcast Extension),你是不是已经配置好这个扩展了?另外本地的Agora引擎有没有开启视频接收?比如初始化后有没有调用
enableVideo(),客户端角色有没有设对(比如.audience或.broadcaster,要确保允许接收远端流)? - 视图层级问题:你创建的共享视图会不会被其他视图挡住了?或者frame/约束没设置对,导致它的宽高都是0?可以给这个视图加个显眼的背景色(比如红色),看看能不能在界面上找到它,排除视图本身的显示问题。
- 引擎错误排查:别忘了监听Agora的
didOccurError回调,看看有没有抛出具体的错误码,这往往能直接定位问题根源。
备注:内容来源于stack exchange,提问作者bumblebee
相关产品推荐
相关产品推荐

