コード例 #1
0
 public static async System.Threading.Tasks.Task <string> TextToSpelledPronunciationServiceAsync(string text, System.Collections.Generic.Dictionary <string, string> apiArgs)
 {
     //System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(Options.options.locale.language);
     using (System.Speech.Recognition.SpeechRecognitionEngine RecognitionEngine = new System.Speech.Recognition.SpeechRecognitionEngine())
     {
         RecognitionEngine.LoadGrammar(new System.Speech.Recognition.DictationGrammar());
         text = text.Replace(".", ""); // EmulateRecognize returns null if a period is in the text
         System.Speech.Recognition.RecognitionResult result = RecognitionEngine.EmulateRecognize(text);
         if (result == null)
         {
             throw new Exception("TextToSpelledPronunciationServiceAsync: RecognitionResult returned null probably due to invalid language input.");
         }
         string pronunciations = null;
         foreach (System.Speech.Recognition.RecognizedWordUnit w in result.Words)
         {
             pronunciations += w.Pronunciation + " ";
         }
         return(pronunciations);
     }
 }