ASP.NETとの連携は先のVistaガジェットの連携と比べてもはるかに楽にできます。その理由は、ASP.NET 2.0までは「ASP.NET Features」としてASP.NET AJAXの将来機能として提供され、ASP.NET 3.5からASP.NET AJAXが正式に組み込まれたことによって追加されたSilverlight用のコントロールを標準で持っているためです。
編集部注:ASP.NET AJAXとコントロールについて詳しく知りたい読者は、記事「ASP.NET AJAX ファーストルック」をご参照ください。
ASP.NET 3.5で追加されたSilverlight用のコントロールは以下の2つになります。
これら2つのコントロールは先にも書いたとおり、もともとASP.NET AJAXの将来機能として定義されていたコントロールなので、ほかのASP.NET AJAXコントロールと同様に、使用する際には「ScriptManagerコントロール」を必要とします。使用する際には、この点だけ気を付けてください。
編集部注:ASP.NET 3.5のほかの新機能について詳しく知りたい読者は、記事「ASP.NETアプリ開発者のためのVisual Studio 2008新機能 Part III」をご参照ください。
このコントロールは、「ASP.NET Features」では「XAMLコントロール」であったもので、名前は変更になりましたが、使い方自体に大きな変更はありません。まずは、以下の「ASP.NETとの連携サンプル」のソースコードをご参照ください。
<asp:Silverlight ID="Silverlight1" runat="server" Height="450px" Source="~/Silverlight/Page.xaml" Width="400px" />
このサンプルが最低限Silverlightの実行に必要なプロパティを含んだ例です。見れば一目瞭然かと思いますが、それぞれのプロパティは以下の設定を行っています。
プロパティ | 詳細 | |
---|---|---|
ID | このコントロールの一意の名前 | |
Height | Silverlightアプリケーションの縦幅 | |
Width | Silverlightアプリケーションの横幅 | |
Source | XAMLファイルのパス(Silverlight 2ではXAPファイル) | |
いままでのHTMLを使ったサンプルでは、<div>タグ領域にJavaScriptのコードを呼び出し、その中でSilverlightオブジェクトの呼び出しを行っていましたが、その部分がこのコントロールひとつでできてしまいます。よって、HTMLを使用するよりは便利にSilverlightを活用できるようになっています。
なお、統合開発環境「Visual Studio 2008」においてSilverlightのプロジェクトを作成すると自動的に追加されるASP.NETのテストページには、Silverlightアプリケーションの呼び出しに、このSilverlightコントロールを使用しています。
編集部注:Visual Studio 2008について詳しく知りたい読者は、記事「ASP.NETアプリ開発者のためのVisual Studio 2008新機能 Part I」をご参照ください。
普通に考えれば、Silverlightアプリケーションを扱うためのコントロールは先のSilverlightコントロールだけで十分だと思いますが、ASP.NETが提供するSilverlight用のコントロールには、このMediaPlayerコントロールも含まれています。
このコントロールはその名のとおり、Silverlightが持つメディア関連技術によってアプリケーションの中に動画などのメディアを追加できます。それにしても、ASP.NETにもメディアを扱うコントロールはありますが、なぜこのコントロールが必要なのでしょう。
従来のWebアプリケーションが扱うメディアというのは、クライアント側にダウンロードしてストリーミング再生を行う形でしたので、クライアントにWindows Media Playerなどのコンテンツ再生アプリケーションが必要でした。しかし、Silverlightの動画配信が広く取り上げられる理由は、コンテンツ再生にクライアント側で何もアプリケーションが必要ないということです。従って、この形でのメディア操作についてはSilverlightが提供する機能を使う必要があるので、わざわざMediaPlayer用のコントロールが定義されているわけです。
こちらも使い方は非常にシンプルです。まずは、以下のソースコードをご参照ください。
<asp:MediaPlayer ID="MediaPlayer1" runat="server" AutoPlay="True" Height="480px" MediaSource="~/Media/Silverlight.wmv" Width="640px" />
これを見ただけではSilverlightを使っているというイメージはまったくわかないくらいシンプルな使い方になっていることが分かると思います。それぞれのプロパティは、以下の設定を行っています。
プロパティ | 詳細 | |
---|---|---|
ID | このコントロールの一意の名前 | |
Height | メディアプレーヤーの縦幅 | |
Width | メディアプレーヤーの横幅 | |
MediaSource | メディアファイルのパス(WMV、WMA、MP3、ASXのみ対応) | |
このコントロールには、メディアプレーヤーとしての外観(スキン)は標準で適用されていますし、再生・停止・ボリュームなどのコントロールも含まれていますので、単純なメディア配信アプリケーションを作成しようと思った場合には、このコントロールを追加して、MediaSourceプロパティにリソースパスを指定するだけで作成可能になっています。これによって、手軽にメディア配信機能をWebアプリケーションに追加できるようになりましたので、筆者としてはとても便利に感じています。
こちらで紹介したサンプルを実行した例は図5のようになります(Silverlightコントロールには、前述の「Hello World!!サンプル」をそのまま使用しています)。
なお、それぞれのコントロールには、ここで紹介した以外にも多くのプロパティが定義されています。使いこなせればもっと面白いアプリケーションを作成できるので、ぜひ一度使ってみてはいかがでしょうか。
今回はVistaガジェットやASP.NETとのSilverlightの組み合わせを紹介しましたが、いかがでしたでしょうか。ここで紹介したサンプルはほんの一例になりますが、この記事が皆さんの技術力やアイデア力の向上に少しでもお役に立てることを心より願っています。
Copyright © ITmedia, Inc. All Rights Reserved.