2011-08-18 25 views
1

我正在使用試圖在Windows 7上開發Visual Studio 2010中的程序。儘管它有點脾氣(有時它運行平穩,有時不會),但我終於得到了它的運行。 我已經意識到,如果沒有啓用語音識別功能,我無法啓動語音識別功能,但在調試語音識別功能之前,我已經發現它,但我發現語音識別的背景功能會干擾我的代碼的執行。它開始嘗試將單詞插入到我的代碼中,這會中斷它,等等。有沒有辦法抑制這些背景功能,以便語音識別(SR)只專注於運行我的代碼?有沒有辦法壓制背景語音識別功能並順利運行?

我覺得一般的想法是找到一個配置,幫助它順利運行始終...

+0

我們在[SO]上使用標籤來組織問題。您無需在標題中添加「Windows 7上的語音識別C#Visual Studio 2010」。 –

回答

1

嘗試使用SpeechRecognitionEngine代替SpeechRecognizer

下面是一個例子:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Speech.Recognition; 
namespace speectest 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     SpeechRecognitionEngine engine = new SpeechRecognitionEngine(); 

     GrammarBuilder grandma = new GrammarBuilder(); 
     engine.SetInputToDefaultAudioDevice(); 
     grandma.AppendDictation(); 
     engine.LoadGrammar(new Grammar(grandma)); 
     engine.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(engine_RecognizeCompleted); 
     engine.RecognizeAsync(); 
     System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite); 
    } 

    static void engine_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e) 
    { 
     Console.WriteLine(e.Result.Text); 
    } 
} 
} 
+0

請原諒我的無知,但這看起來像C++ ...是嗎?我嘗試在c#中使用語音識別引擎,但它根本沒有運行......甚至沒有將我的程序的語音合成部分作爲檢查。 – Ami

+0

不,這是C#;當然不是C++。你在這裏看不到任何#include語句。 – IDWMaster