Как задать русский язык для CultureInfo в SpeechRecognitionEngine c# .Net
В строке (new SpeechRecognitionEngine( new System.Globalization.CultureInfo( culture.ToString())) ) выпадает исключение : -System.ArgumentException: "No recognizer of the required ID found."
using System;
using System.Speech.Recognition;
using System.Globalization;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
CultureInfo culture = null;
if (CultureInfo.CurrentCulture.Name == "ru-RU")
culture = CultureInfo.CreateSpecificCulture("ru-RU");
else
culture = CultureInfo.CreateSpecificCulture("en-US");
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo( culture.ToString())))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}