C# 离线语音识别随时说话随时显示语音内容
时间: 2023-08-02 15:41:55 浏览: 111
以下是一个简单的 C# 离线语音识别随时说话随时显示语音内容的例子:
```csharp
using System;
using System.Speech.Recognition;
class Program
{
static void Main(string[] args)
{
// 创建语音识别引擎
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
// 设置识别模式为离线模式
recognizer.SetInputToDefaultAudioDevice();
// 注册语音识别事件处理程序
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// 开始语音识别
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Say something...");
while (true)
{
// 实时显示识别结果
Console.Write("> " + recognizer.Recognize());
// 等待识别结果
System.Threading.Thread.Sleep(100);
}
recognizer.Dispose();
}
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
```
上述代码中,我们使用了一个无限循环来实时获取语音识别结果并显示在控制台上。调用 `recognizer.Recognize()` 方法获取语音识别结果,该方法会一直等待直到识别到有效的语音输入。注意,由于这种实时显示的方式可能会导致用户输入的语音被打断,因此在实际应用中需要根据具体需求进行适当调整。
阅读全文