Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Globalization;
- using System.Speech.Recognition;
- using System.Threading;
- namespace DefaultInput
- {
- class Program
- {
- // Indicate whether asynchronous recognition has finished.
- static bool completed;
- static void Main(string[] args)
- {
- using (SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US")))
- {
- // Create and load the exit grammar.
- Grammar exitGrammar = new Grammar(new GrammarBuilder("exit"));
- exitGrammar.Name = "Exit Grammar";
- recognizer.LoadGrammar(exitGrammar);
- // Create and load the dictation grammar.
- Grammar dictation = new DictationGrammar();
- dictation.Name = "Dictation Grammar";
- recognizer.LoadGrammar(dictation);
- // Attach event handlers to the recognizer.
- recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognizedHandler);
- recognizer.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(RecognizeCompletedHandler);
- // Assign input to the recognizer.
- recognizer.SetInputToDefaultAudioDevice();
- // Begin asynchronous recognition.
- Console.WriteLine("Starting recognition...");
- completed = false;
- recognizer.RecognizeAsync(RecognizeMode.Multiple);
- // Wait for recognition to finish.
- while (!completed)
- {
- Thread.Sleep(333);
- }
- Console.WriteLine("Done.");
- }
- Console.WriteLine();
- Console.WriteLine("Press any key to exit...");
- Console.ReadKey();
- }
- static void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
- {
- Console.WriteLine(" Speech recognized:");
- string grammarName = "<not available>";
- if (e.Result.Grammar.Name != null && !e.Result.Grammar.Name.Equals(string.Empty))
- {
- grammarName = e.Result.Grammar.Name;
- }
- Console.WriteLine(" {0,-17} - {1}", grammarName, e.Result.Text);
- if (grammarName.Equals("Exit Grammar"))
- {
- ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel();
- }
- }
- static void RecognizeCompletedHandler(object sender, RecognizeCompletedEventArgs e)
- {
- Console.WriteLine(" Recognition completed.");
- completed = true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement