首页 > 解决方案 > .on('stream') 事件似乎没有使用 peerjs + react-native-peerjs 触发

问题描述

我正在尝试使用PeerJS连接我的笔记本电脑和手机

我首先在我的笔记本电脑上启动电子应用程序,生成一个 ID 并将其传递给我的 react native 应用程序,然后它会尝试按下按钮进行连接。

桌面

const webPeer = new Peer({host: ip, port: 8090, path: '/peer', debug: 2});
    var webId;

    webPeer.on('error', function(error) {
        console.log("I NEVER SEE THIS", error);
    });

    webPeer.on('open', async (id) => {
        // I pass this to the phone here - works fine and I see the console log on the line below
        console.log("Saved Web ID", webId);

        webPeer.on('call', function(call) {
            console.log("Getting call from mobile");
            call.answer(stream);    
        });
    }); // I Never get any messages in the console for disconnected or 'close' events

    webPeer.on('disconnected', function() {
        console.log('Disconnection on web...');
        // update app to show disconnected error
    });

    webPeer.on('close', function() {
        console.log('Closing...');
        // update app to show disconnected error
    });

移动的

const mobPeer = new Peer({
      host: ipv4, secure: false, port: 8090, path: '/peer', debug: 1
    });

    mobPeer.connect(webId);

    mobPeer.on('open', function(id) {
      // I see this in the console
      console.log('Mobile id is', id);
    });

    // I never see any of the below events appear in the console

    mobPeer.on('call', function(call) {
      console.log("Got remote stream", call);
      call.answer(null);
    });

    mobPeer.on('disconnected', function() {
      console.log('Disconnection on web...');
      // update app to show disconnected error
    });

    mobPeer.on('close', function() {
        console.log('Closing...');
        // update app to show disconnected error
    });

当我尝试连接 => 呼叫 => 回答时,我在电子/桌面应用程序的控制台中得到了这个:

Connected Connected OFFER from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 CANDIDATE from r7a3vxg2q4000000 to qre0pfj8zin00000 [20580:0116/033646.215:ERROR:audio_rtp_receiver.cc(88)] AudioRtpReceiver::OnSetVolume: No audio channel exists. ANSWER from qre0pfj8zin00000 to r7a3vxg2q4000000 CANDIDATE from qre0pfj8zin00000 to r7a3vxg2q4000000 ERROR PeerServer: Message unrecognized ERROR PeerServer: Message unrecognized ERROR PeerServer: Message unrecognized ERROR PeerServer: Message unrecognized ERROR PeerServer: Message unrecognized

标签: react-nativeelectronwebrtcpeerjs

解决方案


推荐阅读