2

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

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

或者

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

其中 pc 是 PeerConnection。

我想使用原生 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());
4

2 回答 2

2

您将创建 Init 实例并在将公共属性传递给 createDataChannel 之前对其进行操作: https ://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/java/src/org/ webrtc/DataChannel.java#35

如果您在那里没有找到“可靠”,那是因为这不再起作用了。请参阅 maxRetransmits 和 maxRetransmitTimeMs。

于 2015-03-23T18:08:54.117 回答
0

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

于 2015-03-23T21:53:56.387 回答