C#使用微软的库实现语音识别转文字

时间:2025-04-17 08:48:06
using System; using System.Speech.Recognition; class Program { static void Main() { // 创建语音识别引擎 SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(); // 配置语法 Choices commands = new Choices(); commands.Add(new string[] { "hello", "open notepad", "close notepad", "exit" }); GrammarBuilder grammarBuilder = new GrammarBuilder(commands); Grammar grammar = new Grammar(grammarBuilder); // 将语法添加到识别引擎 recognizer.LoadGrammar(grammar); // 设置事件处理程序来处理识别结果 recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized); // 启动语音识别 recognizer.SetInputToDefaultAudioDevice(); recognizer.RecognizeAsync(RecognizeMode.Multiple); Console.WriteLine("Listening for commands. Press Enter to exit."); Console.ReadLine(); // 停止识别并释放资源 recognizer.RecognizeAsyncStop(); recognizer.Dispose(); } private static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { if (e.Result != null && e.Result.Confidence > 0.6) { string recognizedText = e.Result.Text; Console.WriteLine("Recognized: " + recognizedText); // 在此处可以根据 recognizedText 执行相应的操作 // 例如,执行命令、触发事件等 } } }