【发布时间】:2014-06-29 14:16:55
【问题描述】:
我正在开发一个使用语音识别的 WPF 应用程序。当说出语法单词时,事件不会触发。其次,我不确定引擎是否启动。如何检查?以下是代码。
namespace Summerproject_trial
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private SpeechRecognitionEngine recEngine =
new SpeechRecognitionEngine();
public MainWindow()
{
InitializeComponent();
Choices mychoices = new Choices();
mychoices.Add(new string[] {"Ok", "Test", "Hello"});
GrammarBuilder gb = new GrammarBuilder();
gb.Append(mychoices);
Grammar mygrammar = new Grammar(gb);
recEngine.LoadGrammarAsync(mygrammar);
recEngine.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>
(recEngine_SpeechRecognized);
recEngine.SetInputToDefaultAudioDevice();
}
void recEngine_SpeechRecognized(object sender,
SpeechRecognizedEventArgs e)
{
MessageBox.Show("You said: " + e.Result.Text);
}
}
}
【问题讨论】:
-
您是否尝试过完全按照SpeechRecognitionEngine MSDN page 上的示例进行操作?
-
是的,完全一样。我认为代码反映了这一点。
-
“我认为代码反映了它”。看起来不像。不知道它是否重要,但 MSDN 示例使用 CultureInfo 创建
SpeechRecognitionEngine,但您不需要。然后它加载一个DictationGrammar。你没有。这就是为什么我要求完全。 -
我看过一些视频教程,其中没有使用听写语法或 CultureInfo。
标签: c# wpf speech-recognition