在普通结构中,它跟随两个设备相互连接以进行通信。
是否可以连接相同的iOS设备以使用WebRTC服务器连接(转身,晕眩)。
到目前为止我做了什么。
初始化的RTCPeerConnectionFactory&设置对等连接
[_peerConnection offerForConstraints:constraints
completionHandler:^(RTCSessionDescription *sdp,
NSError *error) {
NSLog(@"My SDP is %@", sdp);
NSLog(@"My Error is %@", error);
remoteSDP = sdp;
[self setLocalLocalDescription:sdp];
[self setRemoteRemoteDescription:sdp];
}];
我收到了SDP,我设置了_peerConnection的setLocalDescription& _peerConnectionremote的setRemoteDescription
我从_peerConnectionremote准备了答案,我收到了SDP,我设置了_peerConnectionremote的setLocalDescription& _peerConnection的setRemoteDescription。
我在didGenerateIceCandidate中设置了Ice候选者,为
if (peerConn == _peerConnection) {
[_peerConnection addIceCandidate:candidate];
}else if (peerConn == _peerConnectionremote) {
[_peerConnectionremote addIceCandidate:candidate];
}
我在
中收到远程媒体流- (void)peerConnection:(RTCPeerConnection *)peerConn
didAddStream:(RTCMediaStream *)stream ,
我设置得当。
最后,它说,状态为RTCIceConnectionStateConnected,但没有更多的事情发生。
是否可以从iOS同时打开两个流,并通过WebRTC连接它们。
如果是,我该如何分开来源
RTCMediaStream * stream1 = [_factory mediaStreamWithStreamId:@" ARDAMS"]; RTCMediaStream * stream2 = [_factoryremote mediaStreamWithStreamId:@" ARDAMS"];
-----现在它甚至停止了第一个流。
有任何建议或想法吗?
关注此图片作为架构师,当一方是远程或其他设备时,这对我很好。但是当双方都跳过SIGNALING SERVER的设备相同时,它就会失败。
答案 0 :(得分:0)
是的,你可以这样做。在peerConnection:didAddStream:
回调中添加媒体流时,您是否保留这些媒体流?您是否将视频曲目添加到RTCVideoRenderer
?区分这两个源的方式是在调用peerConnection:didAddStream
时与流关联的对等连接,类似于您对ICE候选者所做的事情