連載
» 2008年08月04日 00時00分 公開

.NETを知らない人でも分かるSilverlight入門(6):デスクトップや.NET技術をSilverlightでカッコよくしよう (3/3)

[松原晋啓,@IT]
前のページへ 1|2|3       

ASP.NET 3.5はSilverlight用のコントロールを標準で持っている

 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つになります。

  • Silverlightコントロール
  • MediaPlayerコントロール

 これら2つのコントロールは先にも書いたとおり、もともとASP.NET AJAXの将来機能として定義されていたコントロールなので、ほかのASP.NET AJAXコントロールと同様に、使用する際には「ScriptManagerコントロール」を必要とします。使用する際には、この点だけ気を付けてください。

編集部注:ASP.NET 3.5のほかの新機能について詳しく知りたい読者は、記事「ASP.NETアプリ開発者のためのVisual Studio 2008新機能 Part III」をご参照ください。

Silverlightコントロール

 このコントロールは、「ASP.NET Features」では「XAMLコントロール」であったもので、名前は変更になりましたが、使い方自体に大きな変更はありません。まずは、以下の「ASP.NETとの連携サンプル」のソースコードをご参照ください。

<asp:Silverlight ID="Silverlight1" runat="server" Height="450px" 
  Source="~/Silverlight/Page.xaml" Width="400px" />

 このサンプルが最低限Silverlightの実行に必要なプロパティを含んだ例です。見れば一目瞭然かと思いますが、それぞれのプロパティは以下の設定を行っています。

表1 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」をご参照ください。

MediaPlayerコントロール

 普通に考えれば、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を使っているというイメージはまったくわかないくらいシンプルな使い方になっていることが分かると思います。それぞれのプロパティは、以下の設定を行っています。

表2 MediaPlayerコントロールの主なプロパティ
プロパティ 詳細
ID このコントロールの一意の名前
Height メディアプレーヤーの縦幅
Width メディアプレーヤーの横幅
MediaSource メディアファイルのパス(WMV、WMA、MP3、ASXのみ対応)

 このコントロールには、メディアプレーヤーとしての外観(スキン)は標準で適用されていますし、再生・停止・ボリュームなどのコントロールも含まれていますので、単純なメディア配信アプリケーションを作成しようと思った場合には、このコントロールを追加して、MediaSourceプロパティにリソースパスを指定するだけで作成可能になっています。これによって、手軽にメディア配信機能をWebアプリケーションに追加できるようになりましたので、筆者としてはとても便利に感じています。

 こちらで紹介したサンプルを実行した例は図5のようになります(Silverlightコントロールには、前述の「Hello World!!サンプル」をそのまま使用しています)。

図5 ASP.NETとの連携サンプルの実行結果 図5 ASP.NETとの連携サンプルの実行結果(※図の動画の著作権はマイクロソフト社にありますが、今回は特別に許諾を得て使用しています

ほかにも多くのプロパティが

 なお、それぞれのコントロールには、ここで紹介した以外にも多くのプロパティが定義されています。使いこなせればもっと面白いアプリケーションを作成できるので、ぜひ一度使ってみてはいかがでしょうか。

Silverlightで技術力やアイデア力を向上させよう

 今回はVistaガジェットやASP.NETとのSilverlightの組み合わせを紹介しましたが、いかがでしたでしょうか。ここで紹介したサンプルはほんの一例になりますが、この記事が皆さんの技術力やアイデア力の向上に少しでもお役に立てることを心より願っています。

プロフィール

松原 晋啓(まつばら のぶあき)

松原 晋啓

SE、コンサルタント、エバンジェリストを経て、現在はソリューションスペシャリストとして活動。その傍ら、イベントや記事寄稿を通じてマイクロソフトのテクノロジーや製品の普及に努めている。

趣味は小学校から続けているバスケットボールで、4年前にチームを作り、現在もリーダーとして活動を行っている



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。