古くからおなじみの WebRTC に関する朗報がもう 1 つあります。
正確に言うと、3 つのうれしいニュースと、いくつかのマイナーな API の変更です。
Chrome の RTCDataChannel
RTCDataChannel は Chrome に実装されています。simpl.info/dc でデモを試すことができます。
このデモでは、100 行未満のコードを記述して任意のデータのピアツーピア通信を行います。これには Chrome 25 以降が必要です。現時点では、Beta または Canary です。
RTCDataChannel は、RTCPeerConnection に組み込まれている機能(特に、ファイアウォールと NAT を通過するための ICE フレームワークの使用)を最大限に活用します。低レイテンシが不可欠なゲーム、リモート デスクトップ アプリケーション、リアルタイムのテキスト チャット、ファイル転送など、さまざまなユースケースに使用できます。
RTCDataChannel の詳細については、WebRTC のスタートガイドをご覧ください。
API の変更
あまり目立たない変更ですが、重要です。Chrome 26 より、RTCPeerConnection と MediaStream API の一部のプロパティがゲッター メソッドになりました。
- MediaStream に、audioTracks プロパティの代わりに
getAudioTracks()
メソッドと、videoTracks
の代わりにgetVideoTracks()
が追加されました。 - RTCPeerConnection に、
localStreams
の代わりにgetLocalStreams()
、remoteStreams
の代わりにgetRemoteStreams()
が追加されました。
MediaStream の動作を確認するには、simpl.info/gum の getUserMedia
デモをご覧ください。stream
変数はグローバル スコープにあります。コンソールから確認します。同様に、simpl.info/pc の RTCPeerConnection の場合、RTCPeerConnection オブジェクト pc1
と pc2
はグローバル スコープにあります。
Chrome <=> Firefox
また、万が一見逃した 場合、Chrome は Firefox と「会話」できるようになりました。
webrtc.org/start で今すぐお試しいただけます。このページには、詳細な手順、ソースコードへのリンク、API の違いに関する情報が記載されています。
実現に尽力した Mozilla と Google の皆様に感謝します。
ぜひご活用ください。バグが見つかった場合は、この投稿へのコメントまたは bugs.chromium.org からお知らせください。最新の実装情報については、chromestatus.com をご覧ください。