问题描述
我们正尝试使用lib-jitsi-meet API从零开始为Jitsi创建一个React Native移动应用程序,并且我们在AWS服务器上拥有一个自托管的jitsi-meet,我们遵循了quick-install guide。出于本文的目的,URL为child = root[i]
。
在React Native应用程序中,我们可以使用https://jitsimeet.example.com
参加名为test1
的会议。加入后,该用户在浏览器上的JitsiMeetJS.initJitsiConference
上以“ Fitlow Jitster”身份可见,,但我们(从React Native移动应用程序)添加到会议的曲目(视频/音频)不可见,并且在浏览器中,它只会显示“参与者已停止摄像头”和“参与者已静音” 。
我们在React Native应用中尝试了jitsimeet.example.com/test1
和meet.jit.si
,以查看问题是否与我们的后端安装有关。但是这些也不起作用。
我们还在浏览器和jitsi-meet移动应用程序中尝试过相同的会议beta.meet.jit.si
,它们都工作正常,没有任何问题。
我们还在本地建立了jitsi-meet存储库。在Android模拟器上运行React Native部件时,它可以正常工作(参加会议并渲染音频/视频轨道)。
从以上观察结果来看,问题似乎出在我们对React Native应用的实现上。
我们找到发起会议的组件的代码here。在这里,您可以找到指向our repository的链接。要运行它,只需执行jitsimeet.example.com/test1
和npm i
。我们在jitsi-meet存储库中给定的本机代码中使用了polyfills。
在我们服务器上的jicofo日志中,我们能够看到当用户通过Web或jitsi-meet移动应用程序加入时,我们得到:
npx react-native run-android
当我们通过React Native应用程序加入时,我们只会得到:
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
更多可能相关的信息
在客户端,我们将在org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1@conference.jitsimeet.example.com/946022e6
事件触发后添加曲目,然后,我们将获得以下日志
CONFERENCE_JOINED
如上所述,我们可以从我们的react native应用程序中加入会议,并且会收到[JitsiConference.js] _doReplaceTrack - no JVB JingleSession
[JitsiConference.js] _doReplaceTrack - no P2P JingleSession
,CONFERENCE_JOINED
,USER_JOINED
个事件。
添加本地轨道后,USER_LEFT
事件也在本地触发。但这并不会触发其他远程客户端(Web浏览器或jitsi-meet移动应用)上发生的视频/桌面共享/音频更改。
我们该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)