2009-02-25 87 views
6

ここにはポストがありますが、それは私のためには機能しません。私はインターネットで見つけたsystem.speech.dllを追加しましたが、表示されないためSystem.speechは使用できません。C#音声認識

エラー1型または名前空間名「SpeechRecognizer」が見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

エラー2型または名前空間名「SpeechRecognizedEventArgsが」が見つかりませんでした(使用指示またはアセンブリ参照がありませんか?)

私はこのコードを使用しました。私はあなたが見つけなければならなかったべきではない

2)プロジェクトでSystem.Speechへの参照を追加する必要があります64

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using SpeechLib; 
using System.Threading; 


namespace WindowsFormsApplication13 
{ 
    public partial class Form1 : Form 
    { 

     SpeechRecognizer rec = new SpeechRecognizer(); 

     public Form1() 
     { 
      InitializeComponent(); 
      rec.SpeechRecognized += rec_SpeechRecognized; 
     } 

     void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
     { 
      lblLetter.Text = e.Result.Text; 
     } 


     private void Form1_Load(object sender, EventArgs e) 
     { 
      var c = new Choices(); 

      // Doens't work must use English words to add to Choices and 
      // populate grammar. 
      // 
      //for (var i = 0; i <= 100; i++) 
      // c.Add(i.ToString()); 

      c.Add("one"); 
      c.Add("two"); 
      c.Add("three"); 
      c.Add("four"); 
      c.Add("Five"); 
      c.Add("six"); 
      c.Add("seven"); 
      c.Add("eight"); 
      c.Add("nine"); 
      c.Add("ten"); 

      // etc... 

      var gb = new GrammarBuilder(c); 
      var g = new Grammar(gb); 
      rec.LoadGrammar(g); 
      rec.Enabled = true; 
     } 
    } 
} 

答えて

4

1)Windows Vistaを使用しています「System.Speech.dll」に関するインターネットは、それがネット3にする必要があります(または3.5、しかし、あなたが説得力のある理由をしていない限り、とにかく3.5を取得しないように)

編集:

あなたがここで見たいと思うかもしれません

http://dotnet.org.za/beta/archive/2008/01/06/system-speech-recognition.aspx

+0

おかげで今私は全く何もしないプログラムをロードする形でデバッグするとき、私は別の問題を抱えています。ボタンに2番目のコードを入力すると、プログラムは認識装置がインストールされていないと言います。 これで私を助けることができますか? –

4

私はJames Ogdenに同意します。また、「使用」ステートメントを追加する必要があります。

using System.Speech.Recognition 

または、クラス名を完全修飾してください。

0

上記の質問に直接当てはまるわけではありませんが、Speech SDKは各クライアントマシンで使用できないことに注意してください。 Vistaには音声認識機能が搭載されていますが、XPには含まれていません。これを修正するには、XPユーザーにSpeech SDKをインストールさせることです。これにはSpeech SDKが含まれています。もう1つは依存関係としてOffice 2003(2007ではなく)を追加することです。

0

Windows XPのSpeechRecognizerクラスに関する問題があります。ときどき動作しますが、時にはうまく動作せず、PCを再起動する必要があります。 Windows 7上では正常に動作します。私はスピーチエンジン自体のいくつかの問題を考えます。なぜなら、アプリケーションを数回実行すると、動作が停止するからです。

このコードを使用してイム:システムを使用して

。 using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; SpeechLibを使用しています。 システムを使用しています。スレッディング;

名前空間WindowsFormsApplication13 { 公共部分クラスをForm1:フォーム {

SpeechRecognizer rec = new SpeechRecognizer(); 

    public Form1() 
    { 
     InitializeComponent(); 
     rec.SpeechRecognized += rec_SpeechRecognized; 
    } 

    void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    { 
     lblLetter.Text = e.Result.Text; 
    } 


    private void Form1_Load(object sender, EventArgs e) 
    { 
     var c = new Choices(); 


     c.Add("one"); 
     c.Add("two"); 
     c.Add("three"); 
     c.Add("four"); 
     c.Add("Five"); 
     c.Add("six"); 
     c.Add("seven"); 
     c.Add("eight"); 
     c.Add("nine"); 
     c.Add("ten"); 

     // etc... 

     var gb = new GrammarBuilder(c); 
     var g = new Grammar(gb); 
     rec.LoadGrammar(g); 
     rec.Enabled = true; 
    } 
} 

}