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

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严格校验类型就导致了渲染失败。

  • 修复方案

    1. 把UID改成整数类型,示例代码:
      AgoraVideoView(
          controller: VideoViewController.remote(
              rtcEngine: _engine,
              canvas: VideoCanvas(uid: 12345), // 替换为实际远程用户的int类型UID
              connection: const RtcConnection(channelId: 'channelName')
          )
      )
      
    2. 确认已开启视频接收功能,初始化引擎后调用:
      await _engine.enableVideo();
      await _engine.enableRemoteVideo(true);
      
    3. 检查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" />
      
    4. 从onUserJoined事件中获取正确的int类型UID,再动态渲染远程视频,确保和远程用户实际使用的UID一致。
  • 补充提示
    不要在初始化时硬编码错误类型的UID,建议通过用户加入事件动态获取并更新视频控制器,避免类型不匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:45:36