安卓点对点连接的应用流程是什么?

7

我正在为 Android 创建一个 WebRTC 应用程序,用于点对点视频通话和聊天。

我从 WEBRTC 网站下载了演示代码,并成功运行了该代码(只能看到视频,无语音交换),在我有疑问的地方打印出所有响应并将其记录在日志中,发现在对话框上输入房间 URL 后,它返回带有许多详细信息的响应,如 media//iceserver//stun//turn//pcconfig 等。这里让我感到困惑,我需要从移动设备向服务器发送什么来进行呼叫,以及其他对等方从服务器收到何种响应以建立连接。在 Android 中,我正在使用 libjingle_peerconnection.jar。我还阅读了关于 crosswalk 和 intel xdk 的内容,但我认为这是关于 phonegap 的,而我需要完全在 Android 上进行。我想深入了解 WebRTC,但找不到正确的路径。是否需要额外的东西才能在应用调用和浏览器之间建立连接?您还可以为我提供有用的主题建议。

2个回答

2
首先,您需要为Android平台编译webrtc代码库。您可以在以下链接中找到编译详细信息: http://www.webrtc.org/native-code/android 编译完成后,您将拥有一个libjingle_peerconnection_so.so文件和一个libjingle_peerconnection.jar文件。您应该将它们包含到您的Android项目中。
除了编译代码之外,您还需要一个信令服务器,该服务器能够在对等方之间交换webRTC会话描述对象。会话描述对象由webrtc引擎提供给您的应用程序。您只需将其发送给另一个对等方,并将传入的会话对象设置为webrtc引擎即可。
在信令服务器之后,您可以使用webrtc API(MediaStream和PeerConnection API)进行P2P视频通话。Sam Dutton在html5rocks.com上发布的webrtc文章非常有帮助,以便了解webrtc的结构和流程。

1
为了建立通话,您需要一个信令服务器,以便安卓应用程序与Web浏览器交换信息。客户端1发送一个提议给客户端2。客户端2回复一个答案。客户端1和客户端2获取本地的ice候选者,这是有关如何连接它们的信息,并相互交换此信息。一旦每个客户端都拥有SDP(来自提出或回答)和ice候选者列表(连接p2p到其他客户端的方式列表),则可以开始实际的p2p视频/音频通信。为了使所有这些通信发生,您需要一个服务器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接