0

我正在使用 react-native 开发 XMPP 聊天应用程序。我正在使用节库与 XMPP 服务器进行通信。文字聊天工作正常。现在我正在使用 webRTC 集成视频聊天。我想使用 XMPP 服务器作为我的信令服务器。我正在使用jingle为 webRTC 通信创建媒体会话。但是当我试图创建一个 RTCPeerConnection 时,它总是返回未定义。

这是我的反应原生代码:

const client = XMPP.createClient({
      jid: jid,
      password: '123456',
      transports: transports,
      allowResumption: false
  });
var session = client.jingle.createMediaSession(jid);

这就是我尝试建立会话的方式。但它抛出以下错误:

TypeError: Cannot set property 'oniceconnectionstatechange' of undefined

RTCPeerConnectionUndefined

问题出现在SessionManager.js

this.createPeerConnection =
            conf.createPeerConnection ||
                ((session, opts) => {
                    if (stanza_shims_1.RTCPeerConnection) {
                        return new stanza_shims_1.RTCPeerConnection(opts);
                    }
                });

这里的 stanza_shims_1.RTCPeerConnection 总是未定义的。所以我尝试用react-native-webrtc 替换 RTCPeerConnection(不是正确的方法)。然后会话被启动并且能够发送用于信令的数据包。但是该节中的侦听器不适用于react-native-webrtc。谁能帮我完成这项工作?

4

0 回答 0