Локализованное распознавание речи, бросая 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, чтобы предотвратить сбой приложения, если пакет недоступен.