バックグラウンドで音楽を再生する(前編)
つい先日基本編を終えたばかりですが、今回より10回にわたって、Windows Phone 7.1をメインとした、応用編のサンプルプログラムの解説をいたします。中には一部Windows Phone 7.0のサンプルも含まれています。お付き合いのほどよろしくお願いいたします。
去る2011年08月25日から8月27日までに、全国のauショップ、家電販売店で、Windows Phone OS 7.5搭載のIS12Tの発売が開始されました。価格等については下記のページを参照してください。
→参照:「Windows Phone IS12T」発売――新規・機種変更の一括価格は7万円台前半(+D Mobile)
また、デバイス情報については下記のページを参照してください。
→参照:Windows Phone デバイス情報
上記ページを見るとわかりますが、世界で初のMangoに対応した端末だけあって、スペック的にも他のスマートフォンを全般的に凌駕するものとなっているようですね。
筆者の環境は、Windows 7 Professional 32ビット+ SP1、Visual Studio 2010 Ultimate + SP1、Windows Phone SDK 7.1 RC 日本語版です。
Windows 7のService Pack 1は下記URLよりダウンロードできます。
→参照:Windows 7 および Windows Server 2008 R2 Service Pack 1 (KB976932)
Visual Studio 2010のService Pack 1は下記URLよりダウンロードできます。
→参照:Microsoft Visual Studio 2010 Service Pack 1 (インストーラー)
Windows Phone SDK 7.1 RC 日本語版は下記URLよりダウンロードできます。
→参照:Windows Phone SDK 7.1 RC (リリース候補)
また、ISOイメージファイルは下記URLよりダウンロードできます。
→参照:WPSDKV71_ja1.iso(※クリックするとダウンロードが始まります)
インストールの必要条件と方法
リリースノートの「インストールの必要条件」に下記のように明記されています。
●Visual Studio がインストールされていない場合でも Windows Phone SDK 7.1 をインストールすることができます。Microsoft Visual Studio 2010 Express for Windows Phone は、Windows Phone SDK 7.1 の一部としてインストールされ、Windows Phone SDK 7.1 をインストールした後に開発に使用できます。
●Visual Studio 2010 Professional 以上のエディションが既にインストールされている場合は、Windows Phone SDK 7.1 のインストール後に開発に使用できます。Windows Phone SDK 7.1 の言語に合わせて、Visual Studio の言語設定を変更する必要があります。
●Visual Studio 2010 RTM がインストールされている場合は、Windows Phone SDK 7.1 をインストールする前に Service Pack 1 RTM をインストールする必要があります。
また、Windows Phone SDK 7.1 Beta2(英語版)をインストールしている場合は、必ずアンインストールしてから、今回のWindows Phone SDK 7.1 RC 日本語版をインストールしてください。
また、「これから始めるWindows Phone プログラミング(基本編)」の第1回の「Visual Studio 2010 +SP1 の日本語環境にWPDT7.1のテンプレートを追加する方法」で、Template のコピーを行っていた方は、コピーしたテンプレートも事前に削除しておいてください。
英語版のExpression Blend 4と日本語版のExpression Blend 4は共存できませんので、英語版のMicrosoft Expression Blend 4と全てのExpression Blend SDKをアンインストールしてください。
また、下記のURLより、「Windows Phone Toolkit - August 2011 (7.1 SDK)」もダウンロードしてインストールしてください。
→参照:Silverlight for Windows Phone Toolkit - Aug 2011.msi
今回のツールキットは、Windows Phone 7.5の環境での動作をベースにチューニングが行われています。特に日本では、Windows Phone 7.5の環境がスタートするため、ぜひ、今回のツールキットへのアップデートをお勧めします。
以上で、Windows Phone SDK 7.1 RC 日本語版の環境が構築できます。
最初のサンプルは、Windows Phone Developer Tools 7.1から追加された、「Windows Phone オーディオ再生エージェント」テンプレートプロジェクトを使って、他のアプリケーションが実行されている場合でも、バックグラウンドで音楽を再生し続けるサンプルです。解説が長くなるため、前編と後編の2回に分けて解説します。前編では、「Windows Phoneオーディオ再生エージェント」の追加と、そのロジックコードをメインに解説します。
まずは、このプログラムで実装する機能の動作を、下記に解説しておきます。
実行すると、[前へ]、[再生]、[次へ]、[WebBrowser] の4つのボタンが表示されます。最初に[再生]ボタンをクリックします。画像と音楽のタイトルが表示され、音楽が再生されます。[次へ]ボタンをクリックすると、次の音楽が再生されます(図1)。1つの音楽が再生し終わると自動的に次の音楽に変わります。音楽を再生したまま、[WebBrowser]ボタンをクリックすると、MSNのサイトが表示され(図2)、バックグラウンドでは音楽が再生され続けます。
図1:[再生]ボタンで音楽が再生される。[次へ]ボタンで次の音楽が再生される。ブラウザ内にサイトが表示されても、バックグラウンドでは音楽が再生し続けている(クリックで拡大) |
サンプルは以下よりダウンロードできます。
→ 「バックグラウンドで音楽を再生する」のサンプルファイル(117.8MB)
※サンプル実行でエラーが発生した場合は、「ソリューションのビルド」を実行後、再度、デバッグ開始を行ってください
※ファイルサイズが大きいため、ダウンロードの際はご注意ください
プロジェクトの作成
VS 2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]を選択します。次に、「Windows Phone アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「WP71_BackgroundAudioPlayer」という名前を付けています。Windows Phoneのバージョンは7.1を選択します。
ソリューションエクスプローラー内にImageとWAVというフォルダを作成し、画像とWAVファイルを追加しておきます。追加したImageフォルダ内の.jpgファイルのプロパティから、「ビルドアクション」に「コンテンツ」と指定しておきます。デフォルトでは「Resource」になっています。WAVフォルダに追加されたWAVファイルはデフォルトで「コンテンツ」になります。また、WAVファイルに関しては、プロパティから「出力ディレクトリーにコピー」の箇所を「新しい場合はコピーする」に指定しておきます。
これらのファイルは、ダウンロードされたサンプルファイルには追加済みです。
MainPage.xamlの編集とコントロールの追加
x:NameがPageTitleというTextBlockのTextプロパティに「BackgroundAudioPlayer」と指定します。プロパティウィンドウからForeground(文字色)とFontSize(文字サイズ)を指定します。
ツールボックスからButtonコントロールを4個、ImageとTextBlockコントロールを1個ずつ配置します。ButtonのContentとx:Nameは図2のように指定します。[前へ]と[次へ]ボタンのIsEnabledプロパティのチェックは外して、最初表示された時点ではクリック不可としておきます。
図2:Buttonコントロールを4個、ImageとTextBlockコントロールを1個ずつ配置する(クリックで拡大) |
書き出されるXAMLコードは省略します。
Windows Phone オーディオ再生エージェントの追加
ソリューションエクスプローラー内の一番上に表示されるソリューションプロジェクトを選択し、マウスの右クリックで表示されるメニューから、「追加(D)/新しいプロジェクト(N)」と選択します(図3)。
図3:「追加(D)/新しいプロジェクト(N)」と選択する(クリックで拡大) |
「新しいプロジェクトの追加」画面が表示されますので、「Windows Phoneオーディオ再生エージェント」を選択します。「名前(N)」はデフォルトの「AudioPlaybackAgent1」のままにしています(図4)。
図4:「Windows Phone オーディオ再生エージェント」を選択する(クリックで拡大) |
[OK]ボタンをクリックすると、ソリューションエクスプローラー内に「AudioPlaybackAgent1」プロジェクトが追加され、「AudioPlayer.vb」というクラスファイルが作成されます(図5)。
図5:「AudioPlaybackAgent1」プロジェクトが追加され、「AudioPlayer.vb」というクラスファイルが作成される(クリックで拡大) |
「Windows Phone オーディオ再生エージェント」は、バックグラウンド音声を再生するための、AudioPlayerAgentをベースにした、UIの無いテンプレートプロジェクトになります。バックグラウンドエージェントアプリケーションから参照します。
ソリューションエクスプローラー内の「WP71_BackgroundAudioPlayer」を選択し、マウスの右クリックで表示されるメニューから、「参照の追加(R)」を選択します。「プロジェクト」タブをクリックし、「AudioPlayerAgent1」を選択し、[OK]ボタンをクリックします。ソリューションエクスプローラー内の「WP71_BackgroundAudioPlayer」の参照設定に「AudioPlayerAgent1」が追加されます(図6)。
図6:「参照の追加(R)」から「プロジェクト」タブ内の「AudioPlayerAgent1」を選択する(左図)。参照設定に「AudioPlayerAgent1」が追加される(右図)(クリックで拡大) |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 翻訳された英文の表示と読み上げ
- モーションセンサーとShareStatusTask、MediaPlayerLauncherを使う
- パノラマページを作成する(後編)
- Bing APIを使ってWeb検索とImage検索を実装する
- 場所と写真を記録するプログラムを作って思い出のシーンを保存しよう
- データ保存・bing検索・簡易縦書き機能の実装
- ContextMenuコントロールを使う、加速度センサー、GPSでの位置情報取得
- LaunchersとChoosersを使ってみる
- 撮影した写真の管理ができるマイフォトアプリを作る
- ShareLinkTaskを使ったSNSでのリンク共有とHubTileのサンプル