■ 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の実行に必要なプロパティを含んだ例です。見れば一目瞭然かと思いますが、それぞれのプロパティは以下の設定を行っています。
プロパティ | 詳細 | |
---|---|---|
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を使っているというイメージはまったくわかないくらいシンプルな使い方になっていることが分かると思います。それぞれのプロパティは、以下の設定を行っています。
プロパティ | 詳細 | |
---|---|---|
ID | このコントロールの一意の名前 | |
Height | メディアプレーヤーの縦幅 | |
Width | メディアプレーヤーの横幅 | |
MediaSource | メディアファイルのパス(WMV、WMA、MP3、ASXのみ対応) |
このコントロールには、メディアプレーヤーとしての外観(スキン)は標準で適用されていますし、再生・停止・ボリュームなどのコントロールも含まれていますので、単純なメディア配信アプリケーションを作成しようと思った場合には、このコントロールを追加して、MediaSourceプロパティにリソースパスを指定するだけで作成可能になっています。これによって、手軽にメディア配信機能をWebアプリケーションに追加できるようになりましたので、筆者としてはとても便利に感じています。
こちらで紹介したサンプルを実行した例は図5のようになります(Silverlightコントロールには、前述の「Hello World!!サンプル」をそのまま使用しています)。
■ ほかにも多くのプロパティが
なお、それぞれのコントロールには、ここで紹介した以外にも多くのプロパティが定義されています。使いこなせればもっと面白いアプリケーションを作成できるので、ぜひ一度使ってみてはいかがでしょうか。
Silverlightで技術力やアイデア力を向上させよう
今回はVistaガジェットやASP.NETとのSilverlightの組み合わせを紹介しましたが、いかがでしたでしょうか。ここで紹介したサンプルはほんの一例になりますが、この記事が皆さんの技術力やアイデア力の向上に少しでもお役に立てることを心より願っています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Silverlightは次世代のJavaScriptフレームワーク?
ついに正式リリース! いまこそ知りたい!! どの環境でも動くマイクロソフトのRIA技術Silverlightについて、実際に動く2つのサンプルを見ながら、その特徴と技術を解説 - Silverlightコントロールの「デザイン力」
Expression Blendで体験しよう Microsoft Expression Blend 2.5を使ったSilverlightコントロールのデザイン方法を学習しながら、その「デザイン力」を実感してみよう - XAMLの基礎知識
.NET Framework 3.0のWindowsアプリ構築フレームワーク「WPF」においてGUI記述を担うXAML(ザムル)。この新言語を基礎のキソから学ぶ - ・第1回 Hello Worldとテキスト・エディタで始めるXAML
- ・第2回 XAMLとWPFの関係
- JavaScriptプログラミング再入門
Ajax全盛のいま、オブジェクト指向ベースのJavaScript知識は不可欠。過去を振り返りつつ、まずは最新開発事情をチェック - ・第1回 JavaScriptの復権
- ・第2回 JavaScriptの関数をマスターしよう
- ・第3回 JavaScriptにおける変数の宣言とスコープ
- ・最終回 JavaScriptでオブジェクト指向プログラミング