1
我正在使用WebRtc native android應用程序。我也編譯io.pristine庫。我只能在兩個設備連接到無線網絡時才能建立呼叫。如果其中一個設備連接到蜂窩網絡,則無法建立呼叫。我讀了任何可能的論壇,看起來像我需要TURN服務器。我已經運行了我自己的TURN服務器,但idk我如何強制應用程序使用此服務器。歡迎任何幫助。謝謝!!將TURN服務器添加到android webRtc本地
我正在使用WebRtc native android應用程序。我也編譯io.pristine庫。我只能在兩個設備連接到無線網絡時才能建立呼叫。如果其中一個設備連接到蜂窩網絡,則無法建立呼叫。我讀了任何可能的論壇,看起來像我需要TURN服務器。我已經運行了我自己的TURN服務器,但idk我如何強制應用程序使用此服務器。歡迎任何幫助。謝謝!!將TURN服務器添加到android webRtc本地
創建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());
我還沒有運行此代碼,但你應該明白我的意思。
只需在第二行和第三行末尾添加括號即可。 –
你能指導我如何構建io.pristine庫。 –
嚴格來說,只需一個STUN服務器就足夠了,但如果客戶端無法建立點對點連接,TURN也會提供回退。在那裏有免費的公共STUN服務器,例如stun.l.google.com:19302。 – jamix