SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

MS Agentを使った文章読み上げソフト

MS Agentを使った文章読み上げソフト(前編)

フリーのエンジンを利用して、文章を音声で読み上げるソフトを作成


ダウンロード read_text.hta (1.4 KB)

設計(プログラムの概要)

 今回作成する文章読み上げソフトは、以下の条件を備えるものとします。

  • ある程度実用的である
  • 簡単に作成できる機能のみで構成する

 この条件を備えるものとして、以下の4つの機能を実装することにします。

  1. テキストエリアの文章を読み上げる
  2. 読み上げを停止する
  3. Microsoft Agentのプロパティシート(設定ダイアログ)を表示する
  4. クリップボードからの文字列を取得する

 また、これらの機能の実行は、それぞれの機能に対応したボタンを作成することで実現するものとします。

プログラムの作成

 プログラム作成の順番は、次の通りとなります。

  1. 「read_text.hta」の作成 - ボタンやテキストエリアのレイアウト
  2. Microsoft Agentの利用1 - オブジェクトの埋め込みと初期化
  3. Microsoft Agentの利用2 - 読み上げと停止
  4. Microsoft Agentの利用3 - プロパティシート(設定ダイアログ)の表示
  5. クリップボードから文字列を取得

「read_text.hta」の作成 - ボタンやテキストエリアのレイアウト

 まずは、「read_text.hta」という名前の空のテキストファイルを作成します。ファイルを作成する場所はどこでも構いません。例として「C:\CodeZineSample\read_text.hta」などのパスに作成します。また、今回の記事では、この「read_text.hta」以外のファイルは作成しません。

 次に、拡張子が「.hta」のファイルが正しく実行できるか確認します。作成した「read_text.hta」をダブルクリックしてください。タイトルバーに、パスが表示され(上記例なら「C:\CodeZineSample\read_text.hta」と表示され)、本体部分に何も表示されないウィンドウが現れれば正しく実行されています。通常のWindowsならば、拡張子が「.hta」のファイルをダブルクリックすれば、このようにウィンドウが現れます。

空の「read_text.hta」
空の「read_text.hta」

 上記の実行確認が終われば、この「read_text.hta」をテキストエディタで開いてください。まずは、HTMLを記述して、インターフェイスを作成していきます。以下に、記述する内容を示します。

ボタンやテキストエリアのレイアウト
<html>
  <head>
    <title>文章読み上げ</title>
  </head>
  <body>

    <form name="f">
      <textarea name="ta" rows=20 cols=80>
      Microsoft Agentを使った文章読み上げソフト
      </textarea>
      <br>
      <br>
      <input type="button" value="クリップボードから文字列取得" 
          onClick="GetTxt()">
      <input type="button" value="テキストエリアを読み上げ" 
          onClick="SpeakTxt()">
      <input type="button" value="読み上げを停止" 
          onClick="StopSpeak()">
      <br>
      <br>
      <input type="button" value="エージェントの設定ダイアログを開く" 
          onClick="OpenOption()">
    </form>

  </body>
</html>

 各ボタンのonClick属性に記述してある関数は、実際にはまだ「read_text.hta」内には存在しません。これは、以降の記事で作成していきます。textareaのサイズ(rowscols)は、各自の好みで数字を変えてください。

4種類のボタンと対応する関数
ボタン名対応する関数
クリップボードから文字列取得GetTxt()
テキストエリアを読み上げSpeakTxt()
読み上げを停止StopSpeak()
エージェントの設定ダイアログを開くOpenOption()

次のページ
Microsoft Agentの利用1-オブジェクトの埋め込みと初期化

この記事は参考になりましたか?

MS Agentを使った文章読み上げソフト連載記事一覧
この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/867 2007/01/30 09:55

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー