ReplacementText.FirstWordIndex Property

Gets the location of the first recognized word replaced by the speech normalization procedure.

Namespace: Microsoft.Speech.Recognition
Assembly: Microsoft.Speech (in microsoft.speech.dll)

Syntax

'Declaration
Public ReadOnly Property FirstWordIndex As Integer
public int FirstWordIndex { get; }
public:
property int FirstWordIndex {
    int get ();
}
/** @property */
public int get_FirstWordIndex ()
public function get FirstWordIndex () : int

Property Value

An int containing the location of the first recognized word replaced by the speech normalization procedure.

Example

In the example below, information about a RecognizedPhrase object returned by a recognition engine is displayed to a user interface.

The section where the location in the current text of text originally recognized but replaced by normalization is displayed is highlighted.

internal static void DisplayBasicPhraseInfo(Label label, RecognizedPhrase result, SpeechRecognizer rec) {
  if (result != null && label != null) {// Blank
    if (rec != null) { //Clear
      label.Text += String.Format(
                                  "  Recognizer currently at:   {0} mSec\n" +
                                  "  Audio Device currently at: {1} mSec\n",
                                  rec.RecognizerAudioPosition.TotalMilliseconds,
                                  rec.AudioPosition.TotalMilliseconds);
    }

    if (result != null) { //Clear
      RecognitionResult recResult = result as RecognitionResult;
      if (recResult != null) {
        RecognizedAudio resultAudio = recResult.Audio;
        if (resultAudio == null) {
          label.Text += String.Format(
                                      "  Emulated input\n");
        } else {
          label.Text += String.Format(
                                      "  Candidate Phrase at:       {0} mSec\n" +
                                      "  Phrase Length:             {1} mSec\n" +
                                      "  Input State Time:          {2}\n" +
                                      "  Input Format:              {3}\n",
                                      resultAudio.AudioPosition.TotalMilliseconds,
                                      resultAudio.Duration.TotalMilliseconds,
                                      resultAudio.StartTime.ToShortTimeString(),
                                      resultAudio.Format.EncodingFormat.ToString());
        }
      }

      label.Text += String.Format("  Confidence Level:          {0}\n", result.Confidence);
      if (result.Grammar != null) {
        label.Text += String.Format(
                                    "  Recognizing Grammar:       {0}\n" +
                                    "  Recognizing Rule:          {1}\n",
                                    ((result.Grammar.Name != null) ? (result.Grammar.Name) : "None"),
                                    ((result.Grammar.RuleName != null) ? (result.Grammar.RuleName) : "None"));
      }

      if (result.ReplacementWordUnits.Count != 0) {
        label.Text += String.Format("  Replacement text:\n");
        foreach (ReplacementText rep in result.ReplacementWordUnits) {
          string repText = rep.Text;
          // Add trailing spaces

          if ((rep.DisplayAttributes & DisplayAttributes.OneTrailingSpace) != 0) {
            repText += " ";
          }
          if ((rep.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) != 0) {
            repText += "  ";
          }
          if ((rep.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0) {
            repText = repText.TrimStart();
          }
          label.Text += String.Format("      At index {0} for {1} words. Text: \"{2}\"\n",
                                      rep.FirstWordIndex, rep.CountOfWords, repText);
        }
        label.Text += String.Format("\n\n");
      }
    }

  }
}

Thread Safety

All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.

Platforms

Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also

Reference

ReplacementText Class
ReplacementText Members
Microsoft.Speech.Recognition Namespace