Локализованное распознавание речи, бросая ArgumentException

У меня есть следующая проблема:

Я использую немецкую Windows7-машину (Culture: "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.

Перевод:

Модуль распознавания с требуемым идентификатором не найден.

Значит ли это, что на моем компьютере отсутствует какой-либо языковой пакет?

1 ответ

Решение

Я предлагаю en-GB-пакет должен быть установлен на машине.

РЕДАКТИРОВАТЬ: Было бы также разумно использовать блок try catch, чтобы предотвратить сбой приложения, если пакет недоступен.

Другие вопросы по тегам