在 Android 中使用 PeerConnection.createDataChannel()

Using PeerConnection.createDataChannel() in Android

我已经为 android 构建了 webrtc,并将 jar 文件包含在我的项目中。我想将数据通道附加到我的 PeerConnection 对象。在网络上,我们在 javascript 中执行以下操作:

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: true});

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: false});

其中 pc 是 PeerConnection。

我想在 Java on Android 中使用本机 webrtc 代码做同样的事情。我有点困惑。通过查看 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 实例并在将其传递给 createDataChannel 之前操作 public 属性: https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/java/src/org/webrtc/DataChannel.java#35

如果您在那里没有找到 "reliable",那是因为这不再有效。请参见 maxRetransmits 和 maxRetransmitTimeMs。

尝试创建一个新的 Init 并为它分配一个 id,否则只需在第二个参数中传递 new Init() 即可。