WebRTC android-PeerConnectionFactory.createPeerConnection始终返回null

时间:2019-03-22 18:49:28

标签: android webrtc apprtc

以前,我使用org.webrtc:google-webrtc:1.0.26885很好,现在我切换到了最新版本1.0.27225。我使用26885版本的PeerConnectionFactory的createPeerConnection方法创建了PeerConnection实例,并且工作正常,但是在切换到最新版本27225之后,方法createPeerConnection始终返回null。有人可以帮我解决这个问题吗?

会议室服务器来自:https://github.com/webrtc/apprtc, 信号服务器是对撞机,来自apprtc / src / collider, NAT服务器来自https://github.com/coturn/coturn。 所有的android客户端代码均来自https://github.com/Piasy/webrtc/tree/hack_webrtc/examples/androidapp/src/org/appspot/apprtc

    PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(signalingParameters.iceServers);
    // TCP candidates are only useful when connecting to a server that supports
    // ICE-TCP.
    rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED;
    rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXBUNDLE;
    rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE;
    rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;

    // Use ECDSA encryption.
    rtcConfig.keyType = PeerConnection.KeyType.ECDSA;
    // Enable DTLS for normal calls and disable for loopback calls.
    rtcConfig.enableDtlsSrtp = !peerConnectionParameters.loopback;
    rtcConfig.sdpSemantics = PeerConnection.SdpSemantics.UNIFIED_PLAN;

    peerConnection = factory.createPeerConnection(rtcConfig, pcObserver);

1 个答案:

答案 0 :(得分:1)

我有同样的问题。 通过将ICE服务器网址从 turn:login@127.0.0.1:8080?transport = tcp 更改为 turn:127.0.0.1:8080?transport = tcp 进行了修复。 另外,您还可以启用webrtc日志记录以查看发生了什么问题:https://webrtc.org/native-code/logging/