Jater

Speak

Nov 4th, 2014
189
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Globalization;
  3. using System.Speech.Recognition;
  4. using System.Threading;
  5.  
  6. namespace DefaultInput
  7. {
  8.     class Program
  9.     {
  10.         // Indicate whether asynchronous recognition has finished.
  11.         static bool completed;
  12.  
  13.         static void Main(string[] args)
  14.         {
  15.             using (SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US")))
  16.             {
  17.  
  18.                 // Create and load the exit grammar.
  19.                 Grammar exitGrammar = new Grammar(new GrammarBuilder("exit"));
  20.                 exitGrammar.Name = "Exit Grammar";
  21.                 recognizer.LoadGrammar(exitGrammar);
  22.  
  23.                 // Create and load the dictation grammar.
  24.                 Grammar dictation = new DictationGrammar();
  25.                 dictation.Name = "Dictation Grammar";
  26.                 recognizer.LoadGrammar(dictation);
  27.  
  28.                 // Attach event handlers to the recognizer.
  29.                 recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognizedHandler);
  30.                 recognizer.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(RecognizeCompletedHandler);
  31.  
  32.                 // Assign input to the recognizer.
  33.                 recognizer.SetInputToDefaultAudioDevice();
  34.  
  35.                 // Begin asynchronous recognition.
  36.                 Console.WriteLine("Starting recognition...");
  37.                 completed = false;
  38.                 recognizer.RecognizeAsync(RecognizeMode.Multiple);
  39.  
  40.                 // Wait for recognition to finish.
  41.                 while (!completed)
  42.                 {
  43.                     Thread.Sleep(333);
  44.                 }
  45.                 Console.WriteLine("Done.");
  46.             }
  47.  
  48.             Console.WriteLine();
  49.             Console.WriteLine("Press any key to exit...");
  50.             Console.ReadKey();
  51.         }
  52.  
  53.         static void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
  54.         {
  55.             Console.WriteLine("  Speech recognized:");
  56.             string grammarName = "<not available>";
  57.             if (e.Result.Grammar.Name != null && !e.Result.Grammar.Name.Equals(string.Empty))
  58.             {
  59.                 grammarName = e.Result.Grammar.Name;
  60.             }
  61.             Console.WriteLine("    {0,-17} - {1}", grammarName, e.Result.Text);
  62.  
  63.             if (grammarName.Equals("Exit Grammar"))
  64.             {
  65.                 ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel();
  66.             }
  67.         }
  68.  
  69.         static void RecognizeCompletedHandler(object sender, RecognizeCompletedEventArgs e)
  70.         {
  71.             Console.WriteLine("  Recognition completed.");
  72.             completed = true;
  73.         }
  74.     }
  75. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×