抛出ArgumentException的本地化语音识别

时间:2015-10-29 11:47:37

标签: c# localization speech-recognition system.speech.recognition

我有以下问题:

我使用的是德国Windows7机器(文化:" de-DE"),但我想将SpeechRecognitionEngine - 类与其他文化一起使用。

但是,以下代码会抛出ArgumentException

using (SpeechRecognitionEngine rec = new SpeechRecognitionEngine(new CultureInfo("en-GB"))) //ArgumentException
{
    rec.LoadGrammar(new DictationGrammar("grammar:dictation#spelling"));
    rec.SpeechRecognized += rec_SpeechRecognized;
    rec.SetInputToDefaultAudioDevice();
    rec.RecognizeAsync(RecognizeMode.Multiple);
    ...
}

异常消息如下:

  

Es wurde kein Erkennungsmodul mit der erforderlichen ID gefunden。

翻译:

  

找不到具有所需ID的识别模块。

这是否意味着我的机器上缺少某种语言包?

1 个答案:

答案 0 :(得分:2)

我建议必须在机器上安装en-GB - 数据包。

编辑: 如果数据包不可用,使用try catch块来防止应用程序崩溃也是合理的。