Quickblox Flutter SDK 示例 WebRTC 未连接

Posted

技术标签:

【中文标题】Quickblox Flutter SDK 示例 WebRTC 未连接【英文标题】:Quickblox Flutter SDK Example WebRTC doesn't connect 【发布时间】:2020-04-09 18:11:04 【问题描述】:

我在 Flutter SDK 示例项目中遇到了问题。

特别是 WebRTC 部分。我无法接通视频通话。

我已将项目部署到两台 android 设备。一个是物理的,另一个是模拟器。

我更新了 credentials.dart 以匹配我的申请信息。

一个设备/应用有 user1。其他设备/应用程序有 user2。与对手互相指指点点。

我执行的步骤如下:

    设置 -> 初始化 认证 -> 登录 聊天 -> 连接 WebRTC -> 初始化 WebRTC -> 订阅 WebRTC 事件 WebRTC -> 调用 WebRTC

点击通话后,我可以在每个应用程序中看到调试信息,因此“聊天”连接似乎正在传递消息。

当我尝试“接受”时,我收到一个错误,指出“id”是必需参数。

查看示例源代码,似乎只有在拨打电话时才会设置“sessionId”。接收端如何获得 sessionId?

此外,“启用视频”或“开始渲染本地”之类的任何操作都会导致在对话框中显示空引用错误。

【问题讨论】:

更新:我进入了我的项目,当我发起呼叫时,我在 XMPP 消息中的“另一端”看到它。现在的问题似乎是从未为 CALL 或 RECEIVED_VIDEO_TRACK 触发 await QB.webrtc.subscribeRTCEventTypes 回调。我在以下之后调用它: settings.init() auth.login() chat.connect() webrtc.init() Flutter 的 initState() 中的所有内容。 【参考方案1】:

QuickBlox 团队已在 Flutter SDK 的更新版本中解决了此问题。

现在描述的逻辑工作正常。

【讨论】:

我更新到最新的SDK。我可以接通电话,但没有音频或视频通过。我在 SDK 中使用示例应用程序。 await QB.webrtc.subscribeRTCEventTypes 现在适用于 QBRTCEventTypes.CALL 类型,并打开一个对话框以“接受”调用。但是,QBRTCEventTypes.RECEIVED_VIDEO_TRACK 类型的 await QB.webrtc.subscribeRTCEventTypes 不会触发。你有什么建议吗?同样,我正在开发一个物理 Android 和一个模拟器。像素 2。 @ToddDeLand 你能解决这个问题吗?我也无法解决这个问题,我可以拨打电话,可以听到音频但视频没有出现,正如你在上面的评论中提到的那样。 ***.com/questions/64047711/… @UdayRamjiyani 是的,当时(4 月 14 日)更新的 Flutter SDK 解决了这个问题。我已经有一段时间没有使用这个项目了,所以我不确定它是否还能继续工作。【参考方案2】:

我可以确认最新的SDK (0.2.4-alpha) 解决了这个问题。

另外,请务必授予相机和麦克风权限。

【讨论】:

以上是关于Quickblox Flutter SDK 示例 WebRTC 未连接的主要内容,如果未能解决你的问题,请参考以下文章

无法解决:com.quickblox:quickblox-android-sdk-chat:2.6.1

QuickBlox 入门

QBRoomChatManager 类在以后的 Quickblox 库中不存在 - quickblox-sdk-release-2

Quickblox 登录无法使用 3.3.1 sdk

使用 QuickBlox JavaScript SDK 的问题

如何管理 quickblox 会话 Javascript SDK