android - Android 点对点连接的应用程序流程?

标签 android webrtc voip p2p

我正在 webrtc 上的 android 中创建一个应用程序,用于视频通话和聊天的点对点连接。

我已经从 WEBRTC 站点下载了演示代码并成功运行了该代码(只能看到视频,没有语音交换),我在有疑问的地方打印了所有响应,发现在对话框中输入房间 URL 后返回包含许多详细信息的响应,例如 media//iceserver//stun//turn//pcconfig 等。在这里我感到困惑,例如我需要从移动设备发送到服务器以调用电话以及我应该期待什么响应来自服务器的其他对等方的连接。在 android 中,我使用的是 libjingle_peerconnection.jar。我还阅读了 crosswalk 和 intel xdk,但我认为它在 phonegap 上,我需要它完全在 android 上。我想深入 webrtc 但找不到正确的路径。 APP调用和浏览器之间是否需要额外的东西来建立连接?您也可以向我推荐有用的主题。

最佳答案

首先,您需要编译Android平台的webrtc代码库。您可以在以下链接中找到编译详细信息: http://www.webrtc.org/native-code/android

编译完成后,您将拥有一个libjingle_peerconnection_so.so 文件和一个libjingle_peerconnection.jar 文件。您应该将它们包含到您的 android 项目中。

除了编译代码,您还需要一个信令服务器,它能够在对等点之间交换 webRTC session 描述对象。 session 描述对象由 webrtc 引擎提供给您的应用程序。您只需要将它发送给另一个对等方并将传入 session 对象设置为 webrtc 引擎。

发送信号服务器后,您可以使用 webRTC API(MediaStream 和 PeerConnection API)进行 P2P 视频通话 Sam Dutton 在 html5rocks.com 上的 webrtc 帖子对于理解 webrtc 结构和流程非常有帮助。

关于android - Android 点对点连接的应用程序流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26905469/

相关文章:

iphone - 除了 Siphon 之外,iPhone 是否还有其他 SIP 实现?

android - 当屏幕锁定在 native 上时如何显示来电

iphone - 具有非 GPL 许可的 iOS 的 SIP 库

android - 从 Fragment 到 Activity 的 Intent

android - 如何获取 ExpandableListView 在 Android 上可绘制的组指示器的宽度?

opencv - 如何将 WebRTC 流式传输到 WebSocket?

javascript - navigator.mediaDevices 未定义

c# - 建立 SIP 连接后如何流式传输音频

java - 尝试在空对象引用上调用虚拟方法 'boolean com.google.firebase.firestore.DocumentSnapshot.exists()'

java - 如果我想设置数组的大小并且我想在空白处使用空值,我应该使用什么类型的数组