WebRTC - RTCDataChannel 演示、API 变更... 以及 Chrome 与 Firefox 通信

我们的老朋友 WebRTC 又有好消息了。

确切地说:三个好消息和一些次要 API 变更。

适用于 Chrome 的 RTCDataChannel

RTCDataChannel 已在 Chrome 中实现,您可以在 simpl.info/dc 找到一个很棒的小演示。

此演示展示了如何使用不到 100 行代码实现任意数据的点对点通信。为此,您需要使用 Chrome 25 或更高版本,也就是目前的Beta 版Canary 版

RTCDataChannel 会充分利用 RTCPeerConnection 中内置的功能(尤其是使用 ICE 框架来穿透防火墙和 NAT),并且在低延迟至关重要的许多潜在应用中都非常有用:游戏、远程桌面应用、实时文本聊天和文件传输。

如需详细了解 RTCDataChannel,请参阅 WebRTC 使用入门

API 变更

虽然不太令人兴奋,但仍然很重要:从 Chrome 26 开始,一些 RTCPeerConnection 和 MediaStream API 属性已变为getter 方法:

  1. MediaStream 现在使用 getAudioTracks() 方法(而非 audioTracks 属性),以及 getVideoTracks()(而非 videoTracks)。
  2. RTCPeerConnection 现在使用 getLocalStreams()(而非 localStreams)和 getRemoteStreams()(而非 remoteStreams)。

如需大致了解 MediaStream 的运作方式,请查看 simpl.info/gum getUserMedia 演示。stream 变量位于全局范围内:请从控制台检查它。同样,对于 simpl.info/pc 中的 RTCPeerConnection:RTCPeerConnection 对象 pc1pc2 位于全局范围内。

Chrome <=> Firefox

另外如果 错过了 这点,请注意,Chrome 现在可以与 Firefox 进行“对话”。

您现在就可以访问 webrtc.org/start 试用此功能,该网站提供了完整的说明、源代码链接以及 API 差异方面的信息。

感谢 Mozilla 和 Google 团队的所有成员,是他们让这一切成为可能。

祝编码愉快!如果您发现任何 bug,请通过对此帖子发表评论或访问 bugs.chromium.org 告诉我们。 别忘了,您可以随时访问出色的 chromestatus.com,获取最新的实现信息。