2017-06-16 66 views
1

我正在使用WebRtc native android應用程序。我也編譯io.pristine庫。我只能在兩個設備連接到無線網絡時才能建立呼叫。如果其中一個設備連接到蜂窩網絡,則無法建立呼叫。我讀了任何可能的論壇,看起來像我需要TURN服務器。我已經運行了我自己的TURN服務器,但idk我如何強制應用程序使用此服務器。歡迎任何幫助。謝謝!!將TURN服務器添加到android webRtc本地

+0

你能指導我如何構建io.pristine庫。 –

+0

嚴格來說,只需一個STUN服務器就足夠了,但如果客戶端無法建立點對點連接,TURN也會提供回退。在那裏有免費的公共STUN服務器,例如stun.l.google.com:19302。 – jamix

回答

1

創建PeerConnection時需要設置TURN服務器。

它會是這樣的:

// Set ICE servers 
    List<PeerConnection.IceServer> iceServers = new ArrayList<>(); 
    iceServers.add(new org.webrtc.PeerConnection.IceServer("stun:xxx.xxx.xxx.xxx")); 
    iceServers.add(new org.webrtc.PeerConnection.IceServer("turn:xxx.xxx.xxx.xxx:3478", "username", "credential")); 

    // Create peer connection 
    final PeerConnectionFactory.Options options = new PeerConnectionFactory.Options(); 
    PeerConnectionFactory factory = new PeerConnectionFactory(new PeerConnectionFactory.Options()); 
    MediaConstraints constraints = new MediaConstraints(); 
    PeerConnection peerConnection = factory.createPeerConnection(iceServers, constraints, new YourPeerConnectionObserver()); 

我還沒有運行此代碼,但你應該明白我的意思。

+1

只需在第二行和第三行末尾添加括號即可。 –