【发布时间】:2018-12-21 01:19:50
【问题描述】:
我知道这方面有很多线索,但我仍在尝试找出 2018 年的最佳选择。
- 是否有一种内置方法可以在我的 c# WPF 应用程序中集成语音控制?
- 最好的解决方案是什么(免费或付费)?
我只是需要一些东西来开始,并确保我朝着正确的方向前进。 (因为许多线程和信息都不是最近的)
谢谢。
米歇尔
【问题讨论】:
标签: java c# wpf speech-recognition voice-recognition
我知道这方面有很多线索,但我仍在尝试找出 2018 年的最佳选择。
我只是需要一些东西来开始,并确保我朝着正确的方向前进。 (因为许多线程和信息都不是最近的)
谢谢。
米歇尔
【问题讨论】:
标签: java c# wpf speech-recognition voice-recognition
复制粘贴代码,从winform转换为WPF,然后就可以了。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Speech.Recognition;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Create a new SpeechRecognitionEngine instance.
SpeechRecognizer recognizer = new SpeechRecognizer();
// Create a simple grammar that recognizes "red", "green", or "blue".
Choices colors = new Choices();
colors.Add(new string[] { "red", "green", "blue" });
// Create a GrammarBuilder object and append the Choices object.
GrammarBuilder gb = new GrammarBuilder();
gb.Append(colors);
// Create the Grammar instance and load it into the speech recognition engine.
Grammar g = new Grammar(gb);
recognizer.LoadGrammar(g);
// Register a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
}
// Create a simple handler for the SpeechRecognized event.
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show("Speech recognized: " + e.Result.Text);
}
}
}
【讨论】:
recognizer.RequestRecognizerUpdate();,当然,在注册SpeechRecognized 事件之后调用recognizer.SetInputToDefaultAudioDevice(); recognizer.RecognizeAsync(RecognizeMode.Multiple);。