我们老朋友 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 方法:
- MediaStream 现在具有
getAudioTracks()
方法(而不是 audioTracks 属性),以及getVideoTracks()
(而不是videoTracks
)。 - RTCPeerConnection 现在具有
getLocalStreams()
(而非localStreams
),getRemoteStreams()
(而非remoteStreams
)。
如需简要了解 MediaStream 的实际应用,请查看 simpl.info/gum getUserMedia
演示。stream
变量处于全局范围内:请在控制台中检查该变量。同样,对于位于 simpl.info/pc 的 RTCPeerConnection:RTTCPeerConnection 对象 pc1
和 pc2
也在全局范围内。
Chrome <=>Firefox
而且 如果您没有 错过 它,Chrome 现在可以“讲话”Firefox。
您现在可以访问 webrtc.org/start 进行试用,其中包含完整说明、源代码链接以及 API 差异的相关信息。
让我们看看 Mozilla 和 Google 的成功之路。
祝您编码顺利!如果您发现任何错误,请在本博文中发表评论,或访问 bugs.chromium.org。 请谨记,您可以随时访问出色的 chromestatus.com,获取最新的实现信息。