Как я могу использовать System.speech, чтобы диктовать английский

Странно, что моя программа может распознавать только китайский язык. Кстати, я в Китае.

Даже если я установлю английскую версию Visual C# 2010, он все равно может распознавать только китайский.

Как изменить настройку языка?

 private void InitializeRecognizerSynthesizer()
    {
        var selectedRecognizer = (from e in SpeechRecognitionEngine.InstalledRecognizers()
                                  where e.Culture.Equals(Thread.CurrentThread.CurrentCulture)
                                  select e).FirstOrDefault();
        recognizer = new SpeechRecognitionEngine(selectedRecognizer);


        recognizer.AudioStateChanged+=new EventHandler<AudioStateChangedEventArgs>(recognizer_AudioStateChanged);
        recognizer.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(recognizer_SpeechHypothesized);
        recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        synthesizer = new SpeechSynthesizer();
    }

Затем я изменяю var selectedRecognizer = (из e в SpeechRecognitionEngine.InstalledRecognizers(), где e.Culture.Equals(Thread.CurrentThread.CurrentCulture) выбирает e).FirstOrDefault();

e.Culture.Equals("en");

Но появляется исключение на распознаватель = новый SpeechRecognitionEngine(selectedRecognizer); говоря проверить, чтобы определить, является ли объект нулевым.

Я использую микрофон в качестве устройства ввода звука по умолчанию на панели управления.

Я пробовал этот самый простой код в http://msdn.microsoft.com/en-us/library/ms554259.aspx только сейчас. Также возникает исключение, предупреждающее об отсутствии идентификатора такой культуры в предложении: SpeechRecognitionEngine распознаватель = новый SpeechRecognitionEngine (новый System.Globalization.CultureInfo("en-US")))

0 ответов

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