Flutter集成Agora:Android端远程视频无法显示问题求助
解决Agora RTC Engine 6.x Flutter Android端远程视频白屏问题
核心问题:UID类型不匹配
你代码里VideoCanvas(uid: 'user-id')用了字符串类型的UID,但Agora RTC Engine 6.x版本中,VideoCanvas的uid参数要求是int类型。Agora UI Kit内部做了类型兼容所以能正常显示,原生API严格校验类型就导致了渲染失败。修复方案
- 把UID改成整数类型,示例代码:
AgoraVideoView( controller: VideoViewController.remote( rtcEngine: _engine, canvas: VideoCanvas(uid: 12345), // 替换为实际远程用户的int类型UID connection: const RtcConnection(channelId: 'channelName') ) ) - 确认已开启视频接收功能,初始化引擎后调用:
await _engine.enableVideo(); await _engine.enableRemoteVideo(true); - 检查Android权限配置,
AndroidManifest.xml里必须包含:<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.INTERNET" /> - 从
onUserJoined事件中获取正确的int类型UID,再动态渲染远程视频,确保和远程用户实际使用的UID一致。
- 把UID改成整数类型,示例代码:
补充提示
不要在初始化时硬编码错误类型的UID,建议通过用户加入事件动态获取并更新视频控制器,避免类型不匹配问题。
内容的提问来源于stack exchange,提问作者kean
相关产品推荐
相关产品推荐

