ReplacementText.CountOfWords Property
Gets the number of recognized words replaced by the speech normalization procedure.
Namespace: Microsoft.Speech.Recognition
Assembly: Microsoft.Speech (in microsoft.speech.dll)
Syntax
'Declaration
Public ReadOnly Property CountOfWords As Integer
public int CountOfWords { get; }
public:
property int CountOfWords {
int get ();
}
/** @property */
public int get_CountOfWords ()
public function get CountOfWords () : int
Property Value
An int containing the number of recognized words 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 number of word replaced by normalization, obtained through the CountOfWords property, is displayed to the user interface 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();
}
if ((rep.DisplayAttributes & DisplayAttributes.ZeroTrailingSpaces) != 0) {
repText = repText.TrimEnd();
}
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