我們的老朋友 WebRTC 帶來更多好消息。
具體來說:有三項好消息,以及幾項 API 小幅變更。
Chrome 適用的 RTCDataChannel
Chrome 已實作 RTCDataChannel,並在 simpl.info/dc 提供精彩的簡短示範。
這個示範會以不到一百行程式碼,展示任意資料的對等端通訊。這項功能需要 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,RTCPeerConnection 物件 pc1
和 pc2
也位於全域範圍。
Chrome <=> Firefox
您現在可以前往 webrtc.org/start 試試這個方法,該網站提供完整操作說明、原始程式碼連結,以及 API 差異資訊。
感謝 Mozilla 和 Google 團隊的努力,讓這一切得以實現。
祝您編寫程式一切順利!如有任何錯誤,請在本篇文章中留言,或前往 bugs.chromium.org 告知我們。別忘了,您隨時可以透過優異的 chromestatus.com 取得最新的實作資訊。