我已经为 android 构建了 webrtc 并将 jar 文件包含在我的项目中。我想将数据通道附加到我的 PeerConnection 对象。在网络上,我们在 javascript 中执行以下操作:
sendChannel = pc.createDataChannel("sendDataChannel", {reliable: true});
或
sendChannel = pc.createDataChannel("sendDataChannel", {reliable: false});
其中 pc 是 PeerConnection。
我想使用 native webrtc 代码在 Android 上的 Java 中执行相同的操作。我有一点困惑。通过查看 eclipse 上的 Jar 文件,我可以看到 PeerConnection 的 createDataChannel 方法采用 String 和 Init 类型的两个参数。
PeerConnection.createDataChannel(String, Init)
我不明白我应该在第二个参数中输入什么。我发现 WebRTC 文档是针对 Web 应用程序的。我看过以下WebRTC草案文档,但无法理解清楚。
http://www.w3.org/TR/webrtc/#methods-2
如果有人可以提供一个如何使用它的小例子,将会很有帮助。
目前,我正在尝试这样做:
DataChannel dc = this.pc.createDataChannel("sendDataChannel", new DataChannel.Init());
最佳答案
您需要创建 Init 实例并操作公共(public)属性,然后再将其传递给 createDataChannel: https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/java/src/org/webrtc/DataChannel.java#35
如果您在那里没有找到“可靠”,那是因为它不再起作用了。请参阅 maxRetransmits 和 maxRetransmitTimeMs。
关于android - 在 Android 中使用 PeerConnection.createDataChannel(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29195020/