共有メディアプレイヤー
これまでも少し紹介したように,Live Frameworkによりデータだけでなくアプリケーション自体を共有することが可能です。今回は,アプリケーションの共有を意識したMesh-enabled Webアプリケーションの簡単なサンプルを作ります。
今回作成するアプリケーションを図1に示します。フォルダ内のメディアファイルをボタンとして表示し,クリックするとそのファイルを再生するメディアプレイヤーです。停止ボタンもない見た目も中身も大雑把な作りですが,大きなひとつの特徴は,このアプリケーションをユーザー間で共有したり複数デバイス上で同時実行したときに,アプリケーションに対する操作(クリックで再生)が同期して行われるという点です。
複数ユーザーで実行した場合,全員が同じメディアファイルを再生することになるわけですね。アプリケーション間の通信には,これまで本連載で紹介したData FeedとData Entryリソースを使います。アプリケーション作成後にアプリケーションの共有方法についても触れています。
作成するメディアプレイヤーが参照するファイルはLive Meshフォルダ内の拡張子がwmaまたはwmvのファイルを参照するものとします。
前回に紹介したとおり,Mesh-enabled Webアプリケーションは許可なくMesh上のLive Meshフォルダにはアクセスできませんので,事前にアクセス許可をアプリケーションに設定します。メディアプレイヤーを共有するユーザーも同様にフォルダアクセス許可の設定とフォルダ自身の共有も必要になります。Live Meshフォルダではなくアプリケーション自身のデータとしてメディアファイルを保存することも可能ですが,今回はこのような仕様にしています。
メディアプレイヤーの作成
まずはメディアプレイヤーのUIやフォルダ参照部分を作成し,その後に同期処理部分を作ります。
それではSilverlight Mesh-enabled Web アプリケーションプロジェクトを作成しましょう。プロジェクトの作成と実行方法は第7回で紹介した通りです。そちらを参照してください。今回もVB.NETを使用しています。
フォルダとメディアファイルの準備
メディアプレイヤーの作成にあたり,メディアファイルをLive Meshフォルダに用意しておきましょう。
Live Framework Developer Sandboxにサインインして,Live Desktop上で適当なフォルダを作成しメディアファイルをアップロードします(図2)。ここではMediaというフォルダ名にしました。
ちなみにこれらのメディアファイルはLive Desktop上で再生が可能になっています。

