0

在某些设备(特别是三星)上,我在建立 P2P 连接时发现了以下错误:

错误处理 ICE 候选 - 无法设置远程报价 sdp:后续报价中的 m 行顺序与先前报价/答案的顺序不匹配

如果我第一次建立连接,它可以正常工作,但如果我第二次尝试它,它会失败,直到我等待一段时间,即使我强制 P2P 连接关闭。这不会发生在适用于 Android 的 Chrome 或所有设备上。

我在设置 Ice 候选人之前的代码:

    var candidate = new RTCIceCandidate({
        sdpMLineIndex: evt.sdpMLineIndex,
        sdpMid       : evt.sdpMid,
        candidate    : evt.candidate
    });
    peerConn.addIceCandidate(candidate, onSuccess, onFailure);
4

1 回答 1

0

似乎我没有正确切断本地流,这使得相机和麦克风看起来还在使用中。

 if(localstream){
        localstream.getTracks()[0].stop();
        localstream = null;
    }

我认为三星的层使 Firefox 的行为有所不同,因为它只发生在我测试的所有设备中的三星设备上。

于 2018-03-19T09:08:00.240 回答