[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Speak.exeはコンソールから起動可?
- To: bep@argv.org
- Subject: Re: Speak.exeはコンソールから起動可?
- From: shirafuji@mail.com (Hideki Shirafuji)
- Date: Mon, 07 Aug 2000 09:58:03 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
白藤です。
nnakamur wrote
>
>ぼちぼちとマニュアルやらコードとか見ています、
>中村 のりつぐ です。
>
>
>Speak.exe は標準入力からデータを読み込むとのことですが、
>と、いうことは、DOS窓から
>
> Speak < hoge
>
>とやって喋らせることが可能ということでしょうか?
>
>もし可能であるならば、読ませるファイルの
>簡単な例を教えて頂けるとありがたいのですが。
>
おすすめはできませんが可能です。
以下の例をhoge.txt に書き込んで標準入力から流すと
確かに読みます。MainFrm.cpp のOnCmdMsg() に解析部分が
あるので、ここを見るとだいたい分かるでしょう。
1文字読みの例
s
l {A}
行読みの例
s
q {わいわい}
d
s 読み上げをstopする
d 読み上げ用のキューにたまった文字列を読む
q キューに{%s} の文字をためる
l {%c} %c の文字を読む
※この方法の問題点
Speak.exe はVC++ で言うところのWindows アプリケーションで、
コンソール・アプリケーションです。したがって、DOS窓からCtrl-D
とかを押しても終了しません。(DOS窓と無関係に動いています)
Windows NT/2000 上では、
窓は、SW_HIDEで作られている(Speak.cpp InitInstance())ので、
見えません。したがってタスクマネージャーのアプリケーションには
表示されません。プロセスの項目にのみ表示されます。
DOS窓から起動させる場合、毎回タスクマネージャーから「プロセスの
終了」ボタンを押して殺してやる必要があります。
emacspeak から呼び出した場合は、emacspeakがプロセス管理を
やってくれているので、終了時にSpeak.exeも同時に終了します。タスク
マネージャーからSpeak.exeを殺した場合も、emacspeakが必要に
応じてSpeak.exeを再起動します。(lisp読めないのでコードは確認
していませんが、動作はそうなってます)
// Name : Hideki Shirafuji
//
// mailto:shirafuji@mail.com