Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebRTC信令状态在iOS上从不更改为HaveLocalAnswer_Ios_Webrtc_Signaling - Fatal编程技术网

WebRTC信令状态在iOS上从不更改为HaveLocalAnswer

WebRTC信令状态在iOS上从不更改为HaveLocalAnswer,ios,webrtc,signaling,Ios,Webrtc,Signaling,我想知道为什么在createAnswerWithDelegatepeerConnection的信号状态永远不会更改为RTCSignalingHaveLocalPrAnswer? 呼叫跟踪是: if(peerConnection.signalingState == RTCSignalingHaveRemoteOffer) { NSLog(@"Setting Remote Offer desc"); [peerConnection createAnsw

我想知道为什么在
createAnswerWithDelegate
peerConnection的信号状态永远不会更改为
RTCSignalingHaveLocalPrAnswer
? 呼叫跟踪是:

if(peerConnection.signalingState == RTCSignalingHaveRemoteOffer) {
            NSLog(@"Setting Remote Offer desc");
            [peerConnection createAnswerWithDelegate:self constraints:_constraints];
        }
然后

然后在
-(void)peerConnection:(rtpeerconnection*)peerConnection didsessiondescription威瑟罗:(NSError*)error
中触发此条件
if(peerConnection.signalingState==RTCSignalingStable)
所以我必须手动创建答案并强制发送给他。我做错了什么?

这是当前(2015年10月6日)对“拥有远程pranswer”状态的描述:

“报价”类型的本地描述已成功应用,而“pranswer”类型的远程描述已成功应用

“pranswer”的定义如下:

RTCSdpType的“pranswer”表示描述必须视为[SDP]答案,而不是最终答案。用作SDP“pranswer”的描述可应用为对SDP报价的响应,或对先前发送的SDP“pranswer”的更新


createAnswerWithDelegate创建的答案是“答案”,而不是“回答”。因此,状态直接进入“稳定”状态。 有关详细信息,请参阅规范,以获得更好的概述

你没有做错什么。您可能需要对您所处的状态进行一些手动记账,并相应地创建答案或报价。

这就是当前(2015年10月6日)中“拥有远程pranswer”状态的描述方式:

“报价”类型的本地描述已成功应用,而“pranswer”类型的远程描述已成功应用

“pranswer”的定义如下:

RTCSdpType的“pranswer”表示描述必须视为[SDP]答案,而不是最终答案。用作SDP“pranswer”的描述可应用为对SDP报价的响应,或对先前发送的SDP“pranswer”的更新


createAnswerWithDelegate创建的答案是“答案”,而不是“回答”。因此,状态直接进入“稳定”状态。 有关详细信息,请参阅规范,以获得更好的概述

你没有做错什么。您可能需要对您所处的状态进行一些手动记账,并相应地创建答案或报价。

这就是当前(2015年10月6日)中“拥有远程pranswer”状态的描述方式:

“报价”类型的本地描述已成功应用,而“pranswer”类型的远程描述已成功应用

“pranswer”的定义如下:

RTCSdpType的“pranswer”表示描述必须视为[SDP]答案,而不是最终答案。用作SDP“pranswer”的描述可应用为对SDP报价的响应,或对先前发送的SDP“pranswer”的更新


createAnswerWithDelegate创建的答案是“答案”,而不是“回答”。因此,状态直接进入“稳定”状态。 有关详细信息,请参阅规范,以获得更好的概述

你没有做错什么。您可能需要对您所处的状态进行一些手动记账,并相应地创建答案或报价。

这就是当前(2015年10月6日)中“拥有远程pranswer”状态的描述方式:

“报价”类型的本地描述已成功应用,而“pranswer”类型的远程描述已成功应用

“pranswer”的定义如下:

RTCSdpType的“pranswer”表示描述必须视为[SDP]答案,而不是最终答案。用作SDP“pranswer”的描述可应用为对SDP报价的响应,或对先前发送的SDP“pranswer”的更新


createAnswerWithDelegate创建的答案是“答案”,而不是“回答”。因此,状态直接进入“稳定”状态。 有关详细信息,请参阅规范,以获得更好的概述


你没有做错什么。您可能需要对您所处的状态进行一些手动簿记,并相应地创建答案或报价。

“createAnswerWithDelegate创建的答案是“答案”,而不是“回答”。因此,该状态将直接进入“稳定”状态。这就是。非常感谢。createAnswerWithDelegate创建的答案是一个“答案”,而不是一个“pranswer”。因此,该状态直接进入“稳定”状态。非常感谢。createAnswerWithDelegate创建的答案是一个“答案”,而不是一个“pranswer”。因此,该状态直接进入“稳定”状态。非常感谢。createAnswerWithDelegate创建的答案是一个“答案”,而不是一个“pranswer”。因此,该状态直接进入“稳定”状态。非常感谢。
-(void)peerConnection:(RTCPeerConnection *)peerConnection didCreateSessionDescription:(RTCSessionDescription *)sdp error:(NSError *)error
{    
    if(error) {
        NSLog(@"Error - %@", error.description);
    }
    else {
        NSLog(@"Setting Local Desc");
        [peerConnection setLocalDescriptionWithDelegate:self sessionDescription:sdp];
    }
}