時報アプリの拡張

前回はWin32アプリで、タイマーで毎秒表示時刻をアップデートし、スピーチを起動し、1時間に一度時刻を読み上げるテストアプリを作成しました。(公開するほどのものではないのでもう少し機能追加したらまたベクターにアップします)
今回はそれに設定ファイルを読み込んで、指定された時間に文章を読み上げるようにします。設定ファイルのフォーマットは以下のように、Time(時:分), SpeechMessage(読み上げる文章), ActionApplicatoinPath(起動ファイルパス)とします。登録可能な時間は無制限とします。
【今回使用した設定ファイルフォーマット】
[ActionItem1]
Time=0:00
SpeechMessage=午前0時になりました。早く寝ましょう。明日がんばりましょう。
ActionApplicationPath=
[ActionItem2]
Time=1:45
SpeechMessage=午前1時45分になりました
ActionApplicationPath=
[ActionItem3]
Time=2:00
SpeechMessage=午前2時です
ActionApplicationPath=
とりあえず文章を読み上げて、ファイルを起動できれば定期的になにかの作業的なこともできるかと思います。さらに今回は、透明なウィンドウ上にDirect2Dを使ってきれいな画面表示、そしてWindowsAnimationを使ったアニメーションを実装してみます。
以下の時間表示がDirect2Dを使った時間表示です。この時間表示は毎秒更新され透明部分は通常通りマウスクリックが機能します。文字上をクリックされた際にはアニメーションで時間が右から左へとスライドします。
WindowsAnimation APIは普通のAPIとは違い、開始と、終了の値と、動作時間をを指定することで時間通り数値が変化していくという使い方が出来ます。


TimeSignal.jpg
時間表示画面

ニコ生や、UStreamで使われている移動する字幕もこれで実現できます。今回は表示を目立たないように常に時間を見えるようにしたかったので、大きな動きにはしませんでした。(あくまでも今後の拡張用ということで)
あと、フォント表示にはDirectWriteを使用しています。これはWindows7から採用された新しい機能でスムーズなフォント表示が可能になっています。
あとは、黒色で影を書いて、グラデーションカラーをのせてみました。(ちょっとはシェアウェアとかにも出来る感じになりました)
次回は、ちょっとこの時報アプリが気に入った事もあってこれにスピーチの読み上げ部分を内部処理として取り込んでひとつのアプリとして読み上げするようにします。
ではまた。
今後の予定としては、
1. A.I.本体の結果や、返答のルーチン。
2. 返答や読み上げ用語データベースのアップデート方法。
3. プラグインルーチンの実装方法。
4. 専門知識データベースと、計算の実行ルーチンの設計。
5. スクリーンショットや、ウェブカムの画像からOCRでの画面のデータ化。
やりたいところはこんなところでしょうか。
最終的なA.I.の目標はアプリを書いてくれるA.I.や、2速歩行ロボットの制御とかできるといいな~
でゅわ!

コメントを残す