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 上获得最新的实施信息。