時刻とともに、その日の出来事をキャラクターが音声で教えてくれるアプリを作る

2014年3月19日(水)
薬師寺 国安

このアプリについて

今回のアプリは、10秒間隔で現在の年月日時分秒がアニメ—ションを伴って表示され、その時刻をキャラクタが読み上げるアプリです。単に現在の日時を表示させるだけでは、Windows ストアの審査で「価値と有用性がない」と理由でリジェクトされます。そこで、当日に起きた過去の出来事の一部を表示させるようにしています(図1)。

またマウスの右クリックで、表示される年月日時分秒の色とフォントを選択して保存できるようにしています。色とフォントを保存すると次回起動時には選択した色とフォントで表示されるようになります(図2)。

フォントは「ユアネームフォントダウンロード」を下記よりダウンロードして使用しています。適当なフォントをダウンロードしてください。
> ユアネームフォントダウンロード

ダウンロードしたフォントを解凍して、コントロールパネルの「フォント」の中にドラッグ&ドロップして追加しておきます。

図1:10秒間隔で現在の年月日時分秒がアニメーションを伴って表示され、キャラクタが読み上げる(クリックで拡大)
図2:マウスの右クリックで表示されるアプリケーションバーから時刻の文字色、フォントの設定ができる。[保存]アイコンで設定の保存ができる(クリックで拡大)

プロジェクトの作成

VS 2013のメニューから[ファイル]−[新規作成]−[プロジェクト]と選択します。次に、「テンプレート」から「Windows ストア」を選択し、右に表示される項目名から「新しいアプリケーション(XAML)」を選択します。「名前」に任意のプロジェクト名を指定します。ここでは「syoko_TimeShow」という名前を付けています。

ソリューション・エクスプローラー内にImageというフォルダを作成し、4枚のキャラクタのPNG画像を配置しています。またFontフォルダを作成して、ダウンロードした「ユアネームフォント」を何点かコントロールパネルの「フォント」から追加しています。

ダウンロードされたサンプルファイルには、PNG画像やフォントは追加済みです。

Nugetパッケージの管理

ソリューション・エクスプローラーの「全てのファイルを表示」アイコンで、「参照設定」を表示します。「参照設定」を選択し、マウスの右クリックで表示されるメニューから「Nugetパッケージの管理」を選択し、表示される画面の「オンライン」を選択し、「検索」欄にWinRTXamlToolkitと入力します。すると、WinRT XAML Toolkitが表示されるので、「インストール」をクリックしてインストールしてください。今回は、このコントロールに含まれるCascadingTextBlockやCountDownControlコントロールを使用するためにWinRT XAML Toolkitが必要です。

WinRT XAML Toolkitについては、下記のURLを参照してください。
> WinRT XAML Toolkit

WinRT Xaml Toolkitのコントロールをツールボックスに追加する

ツールボックスの「全てのXAMLコントロール」の上でマウスの右クリックをします。すると「アイテムの選択」メニューが表示されますので、タップします。「ツールボックスアイテムの選択画面」が表示されますので、[参照]ボタンをタップします。プロジェクトの\packages\winrtxamltoolkit.1.5.3.0\lib\netcore451にある、「WinRTXamlToolkit.dll」を選択します。[開く]をタップします。すると図3のようにWinRTXamlToolkitに含まれるコントロールが追加表示されます。

図3:WinRTXamlToolkitに含まれているコントロールが追加表示された(クリックで拡大)

[OK]ボタンをタップすると図4のようにツールボックスにコントロールが追加されています。

図4:ツールボックスに、WinRTXamlToolkiのコントロールが追加された

画像ライブラリへのアクセス許可の設定

ピクチャライブラリ—内にフォルダを作成して設定用ファイルのXMLファイルを保存するため、画像ライブラリへのアクセス許可を設定します。
ソリューション・エクスプローラー内にある、Package.appxmanifestファイルをダブルクリックして開きます。[機能]タブ内の「機能:」にある、「画像ライブラリ」にチェックを付けてください。

  • 時刻とともに、その日に起こった出来事をキャラクターが教えてくれるアプリ

    『Windows 8.1+Visual Studio 2013によるWindows ストア・アプリ開発実例集』 第10回のサンプルプログラムです。
薬師寺国安事務所

薬師寺国安事務所代表。Visual Basic プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット PROJECT KySS を結成。2003年よりフリーになり、PROJECT KySS の活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。Windows Phoneアプリ開発を経て、現在はWindows ストア アプリを多数公開中

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています