1

我们正在尝试使用 lib-jitsi-meet API 从头开始​​为 Jitsi 创建一个 React Native 移动应用程序,并且我们在 AWS 服务器上有一个自托管的 jitsi-meet 并且我们遵循了快速安装指南。就本文而言,URL 是https://jitsimeet.example.com

在 React Native 应用程序中,我们可以test1使用JitsiMeetJS.initJitsiConference. 加入后,用户在浏览器上显示为“Fellow Jitster” jitsimeet.example.com/test1但我们添加到会议中的曲目(视频/音频)(来自 React Native 移动应用程序)不可见,在浏览器中,它只是说“参与者已停止摄像头”和“参与者已静音”

我们已经在我们的 React Native 应用程序中尝试了meet.jit.si&beta.meet.jit.si来查看问题是否与我们的后端安装有关。但这些也不起作用。

我们还在jitsimeet.example.com/test1浏览器和 jitsi-meet 移动应用程序上尝试了相同的会议,它们都运行良好,没有任何问题。

我们还在本地设置了jitsi-meet存储库。在 Android 模拟器上运行 React Native 部分时,它工作正常(加入会议和渲染音频/视频轨道)。

从上面的观察来看,问题似乎出在我们对 React Native 应用程序的实现上。

可以在此处找到用于启动会议的组件的代码。在这里您可以找到我们存储库的链接。要运行它,只需执行npm iand npx react-native run-android。我们在jitsi-meet存储库中给出的 react-native 代码中使用了 polyfill。

在我们服务器上 jicofo 的日志中,我们可以看到当用户通过 web 或 jitsi-meet 移动应用程序加入时,我们得到:

org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1@conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Got session-accept from: test1@conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Received session-accept from test1@conference.jitsimeet.example.com/2502e6ad with accepted sources:Sources{ video: [ssrc=467278592 ssrc=2301072636 ssrc=839807103 ssrc=3616291734 ssrc=2331517151 ssrc=3181098946 ] audio: [ssrc=2795704819 ] }@2129717334

而当我们通过我们的 React Native 应用程序加入时,我们只会得到:

org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1@conference.jitsimeet.example.com/946022e6
更多可能相关的信息

在客户端,我们在CONFERENCE_JOINED事件触发后添加轨道,然后,我们得到以下日志

[JitsiConference.js] _doReplaceTrack - no JVB JingleSession
[JitsiConference.js] _doReplaceTrack - no P2P JingleSession

如上所述,我们可以从我们的 react native 应用程序加入会议,并且我们正在获取CONFERENCE_JOINED, USER_JOINED,USER_LEFT事件。

TRACK_ADDED添加本地音轨后,该事件也会立即在本地触发。但它不会因为其他远程客户端(网络浏览器或 jitsi-meet 移动应用程序)上发生的任何视频/桌面共享/音频更改而触发。

我们如何解决这个问题?

4

0 回答 0