我们正在我们的应用程序中实现 Webrtc。库版本:implementation 'org.webrtc:google-webrtc:1.0.30039'
. 在 Android 上,它只生成 UDP ICE 候选者,在 IOS 上生成 UDP 和 TCP,尽管 lib 版本在两者上都是最新的,并且设置大致相同。我们认为因为一些需要 TURN 的调用不会立即工作,而是在重新连接后,当 webrtc 库将其状态更改为失败时,我们重新发送一个报价,其中已经包含 ICE。这是我对 Peerconnection 的设置:
PeerConnection.RTCConfiguration rtcConfig =
new PeerConnection.RTCConfiguration(peerIceServers);
rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.ENABLED;
rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXBUNDLE;
rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE;
rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;
// Use ECDSA encryption.
rtcConfig.keyType = PeerConnection.KeyType.ECDSA;
为了使 Webrtc 库也生成 TCP ICE,我应该设置什么样的设置?