マイクロソフトのSAPIを使った無料のアプリケーションを作りたいと思っています。


開発言語はVB.NETで、ボタンを押すとドキュメントファイルを音声再生、停止、一時停止

するようなところまで出来ました。

テキストボックス内の文章の話されている単語だけをハイライト表示してくれる機能を付け加えたいと思っているのですが、どのようなコードを書けばいいのかわかりません。
自力で調べているのですが時間だけが過ぎていくような状態です。

Delphiに関する記事はあったのですが、知識がないためうまくいかないのです。
このような感じにしたいとおもっています。
http://dn.codegear.com/jp/article/29583#KeepingTrack

VB.NETを使ってハイライト表示をしたいと思っているので、どなたかお力をお貸しいただけないでしょうか?C#でもかまいません。

はてなには大変優秀な技術者様が多いと聞きましたので、質問させていただきました。

ご存知な方いらっしゃいましたらなにとぞ宜しくお願いいたします。長文駄文申し訳ございません。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/21 14:15:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:degucho No.1

回答回数281ベストアンサー獲得回数75

ポイント60pt

SAPIについてはよく知りませんが↓こういう話でしょうか

http://dobon.net/vb/dotnet/control/tbselectedtext.html

id:Squeak

説明不足で申し訳ございません。Speech APIで読み上げている文章中の単語をハイライト表示したいのです。

例えば「私は はてなが 好き です」 のような文章で、text-to-speechが「好き」としゃべっているときに「好き」という単語をハイライトすることを目標にしています。

日本語のドキュメントが少ないので困っています。

説明が下手で申し訳ないです。degucho様どうもありがとうございます。

2008/02/14 15:32:13
  • id:degucho
    意図は理解していたつもりだったのですがお役に立てずすみません。
    ちょっと試してみたのですが
    DelphiのソースをそのままVB.NETに移植
    (withEvents付き変数)してハンドルすると
    Wordイベント、Sentense イベントともに
    しゃべり終わった後に連続して発生(Positionなどは合っている)
    してしまい使えませんでした。
    単語を空白で分けて、ハイライト→しゃべらせる、とやると一応できるのですが
    しゃべりとして不自然でした(あとCPUがフル回転になってしまいます)
    <br />
    .Net Framework 3.0のSpeechを使用すると意図どおりに動くと思われます
    (試せてません。すみません)
    http://scdnug.org/blogs/member_blog/archive/2006/10/05/.Net-Framework-3.0-Text-To-Speech.aspx
    http://msdn2.microsoft.com/ja-jp/library/system.speech.synthesis.speechsynthesizer.speakprogress.aspx
    http://msdn2.microsoft.com/ja-jp/library/system.speech.synthesis.speakprogresseventargs_members.aspx

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません