Javascript WebRTC/RTPeerConnection:无法设置本地应答sdp:在错误状态下调用:状态\u SENTACCEPT
我正在实现一个网络摄像头聊天。我收到此错误Javascript WebRTC/RTPeerConnection:无法设置本地应答sdp:在错误状态下调用:状态\u SENTACCEPT,javascript,webrtc,Javascript,Webrtc,我正在实现一个网络摄像头聊天。我收到此错误无法设置本地应答sdp:在错误状态下调用:state\u sentapt 获取它的用户有一个rtpeerconnection打开,该连接在执行此代码之前等待另一个用户的SDP提供,错误发生在: function receiveOffer(offer) { offer = new RTCSessionDescription(JSON.parse(offer)); remotePc; // defined somewhere else
无法设置本地应答sdp:在错误状态下调用:state\u sentapt
获取它的用户有一个rtpeerconnection
打开,该连接在执行此代码之前等待另一个用户的SDP提供,错误发生在:
function receiveOffer(offer)
{
offer = new RTCSessionDescription(JSON.parse(offer));
remotePc; // defined somewhere else
remotePc.setRemoteDescription(new RTCSessionDescription(offer), function()
{
remotePc.createAnswer(function(answer)
{
remotePc.setLocalDescription(new RTCSessionDescription(answer), function()
{
// send answer
},error);
},error);
},error);
}
引发错误的行是
setLocalDescription
。一般来说,有人知道这可能是什么原因吗?remotePc是否也在代码中的其他地方提供报价?它不提供报价,但显然有时它会在收到报价之前获得远程对等方的ice候选人。我试图找出这是否是一个问题。是的,在设置remoteSDP之前,您不能设置任何ice候选项。如果你尝试,就会有问题。我将完全跳过“涓涓细流”,在所有候选人确定之前不会发送您的报价sdp。谢谢你的评论。让我绕着它转一圈。:)到目前为止,通过在PeerConnection的构造函数中传递ice服务器,我自动获得了我的ice候选对象。我是否正确地认为,updateIce
也能让我获得ice候选人?我试试看。