我正在制作一个识别程序,我有一个问题,我必须重新检查if是否仍然是阳性
我的代码:
{
RECOGNITION = true;
engine_load();
}
SpeechSynthesizer synth = new SpeechSynthesizer();
PromptBuilder promptBuilder = new PromptBuilder();
SpeechRecognitionEngine NSK = new SpeechRecognitionEngine();
#endregion
private void speechRecognition_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show("speech recognized:" + e.Result.Text.ToString());
}
// In this If I have the problem
private void engine_load()
{
if (RECOGNITION == true)
{
engine = new SpeechRecognitionEngine();
engine.SetInputToDefaultAudioDevice();
Grammar g = new DictationGrammar();
engine.LoadGrammar(g);
engine.RecognizeAsync(RecognizeMode.Multiple);
engine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(engine_SpeechRecognized);
Console.ReadLine();
}
}
我需要的是,每次我说话时,系统在识别单词之前验证变量";"认可";是真的。
如果有人知道如何帮助我,我将非常感谢。谢谢
您是否考虑过使用while循环?
while(RECOGNITION)
{
...
}
如果你不想使用while,你可以在If 之后添加一个跳转
returnHere:
//Your stuff here
if (RECOGNITION == true)
{
...
}
//jump back if condition is still true
if(still true) { goto returnHere; }