// Displays the semantics, rules, and alternates of the result.
private void DisplayResult(RecognitionEventArgs eventArgs)
{
// Clear results, semantic XML, semantics tree, and alternates.
_recognitionSmlBrowser.Navigate("about:blank");
_semanticsTreeView.Nodes.Clear();
_alternatesListBox.Items.Clear();
_recognitionInfo.Text = null;
_recognizedTextDisplay.Text = null;
//Obtain result from RecognitionEventArg passed in.
if (eventArgs != null && eventArgs.Result != null)
{
RecognitionResult result = eventArgs.Result;
//Set Text color on the basis of the event type passed in.
_recognitionInfo.Text = null;
switch (eventArgs.GetType().ToString())
{
case "System.Speech.Recognition.SpeechHypothesizedEventArgs":
_recognizedTextDisplay.ForeColor = Color.Black;
_recognizedTextDisplay.Text = result.Text;
_recognitionInfo.Text = null;
break;
case "System.Speech.Recognition.SpeechRecognitionRejectedEventArgs":
_recognizedTextDisplay.ForeColor = Color.OrangeRed;
_recognizedTextDisplay.Text ="Unable to Recognize Input";
DisplaySemanticsSML(result);
DisplaySemanticsTreeView(result);
_recognitionInfo.Text = null;
break;
case "System.Speech.Recognition.SpeechRecognizedEventArgs":
_recognizedTextDisplay.ForeColor = Color.Green;
_recognizedTextDisplay.Text = result.Text;
_recognitionInfo.Text =
"Confidence Level: " + result.Confidence + Environment.NewLine
+ "Recognizing Grammar: " + result.Grammar.Name + Environment.NewLine
+ ((result.Grammar.RuleName != null) ? ("Recognizing Rule : " + result.Grammar.RuleName) : "");
DisplaySemanticsSML(result);
DisplaySemanticsTreeView(result);
break;
default:
_recognizedTextDisplay.ForeColor = Color.Black;
break;
}
_recognizedTextDisplay.Show();
_recognitionInfo.Show();
DisplayAlternates(result);
}
}