我試圖在C#中識別語音,但它開始不好。我曾在YouTube上看過一些教程,但每次都會出現此錯誤。所以我得到了微軟的MSDN代碼,並試圖在Google中找到一些解決方案。這是我使用的代碼:錯誤「沒有識別器安裝」與識別語音
public Form1()
{
InitializeComponent();
Initialize();
}
private void Initialize()
{
// Create a new SpeechRecognitionEngine instance.
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
// Configure the input to the recognizer.
//sre.SetInputToWaveFile(@"c:\Test\Colors.wav");
sre.SetInputToDefaultAudioDevice();
// Create a simple grammar that recognizes "red", "green", or "blue".
Choices colors = new Choices();
colors.Add(new string[] { "red", "green", "blue" });
// Create a GrammarBuilder object and append the Choices object.
GrammarBuilder gb = new GrammarBuilder();
gb.Append(colors);
// Create the Grammar instance and load it into the speech recognition engine.
Grammar g = new Grammar(gb);
sre.LoadGrammar(g);
// Register a handler for the SpeechRecognized event.
sre.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
// Start recognition.
sre.Recognize();
}
// Create a simple handler for the SpeechRecognized event.
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show("Speech recognized: " + e.Result.Text);
}
我已經下載了Microsoft Speech Platform SDK和Runtime Languages(美國)。錯誤仍然存在。
我也已經用了這個代碼,因爲我在這裏一個主題中的StackOverflow的看到:
sre = new SpeechRecognitionEngine(new CultureInfo("en-GB"));
它沒有工作,所以我試圖用這個(我在MSDN看到):
SpeechRecognitionEngine sre = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
當我嘗試使用這些代碼時,錯誤更改並說:「沒有找到所需ID的識別器」。 我使用Windows 7(Home Basic,x64),Microsoft Visual C#2010 Express。我的默認語言(系統語言也是)是葡萄牙語(巴西),也許這是錯誤原因?那麼,我希望我爲你寫的所有細節都明白。對不起,我的英語,我這訓練,哈哈:P
@Saruman我已經切換,錯誤更改爲「沒有找到所需ID的識別器」。在CultureInfo中(當我創建sre時)。我試圖下載pt-BR文件,但也發生了。 如果我放棄它,錯誤將更改爲「語音識別在此係統上不可用,無法找到SAPI和語音識別引擎」。 –