Lists the options that the SpeechRecognitionEngine object can use to specify white space for the display of a word or punctuation mark.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace:
Microsoft.Speech.Recognition
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
<FlagsAttribute> _ Public Enumeration DisplayAttributes |
Visual Basic (Usage) |
---|
Dim instance As DisplayAttributes |
C# |
---|
[FlagsAttribute] public enum DisplayAttributes |
Members
Member name | Description | |
---|---|---|
None | The item does not specify how white space is handled. | |
ZeroTrailingSpaces | The item has no spaces following it. | |
OneTrailingSpace | The item has one space following it. | |
TwoTrailingSpaces | The item has two spaces following it. | |
ConsumeLeadingSpaces | The item has no spaces preceding it. |
Remarks
The speech recognition engine returns recognized phrases as collections of RecognizedWordUnit or ReplacementText objects. Each object corresponds to a single word or punctuation mark. The DisplayAttributes property of a RecognizedWordUnit or ReplacementText object uses a member of the DisplayAttributes enumeration to describe how print spacing is handled around a given word or punctuation mark.
Two or more members of the DisplayAttributes enumeration may be combined by a bit-wise OR to specify how a particular word should be displayed.
Note |
---|
The display formatting that the speech recognizer uses is language specific. |
For example, suppose the input phrase to a recognition engine is "Hello comma he said period".
Then the recognition engine will return a RecognizedPhrase containing five RecognizedWordUnit objects containing the following strings and values of DisplayAttributes.
"Hello" | OneTrailingSpace |
"," | OneTrailingSpace | ConsumeLeadingSpaces |
"he" | OneTrailingSpace |
"said" | OneTrailingSpace |
"." | OneTrailingSpace | ConsumeLeadingSpaces |
The text returned for this recognized phrase would then be printed as: "Hello, he said."
Examples
The following example shows a utility method that returns a formatted phrase from a collection of RecognizedWordUnit objects returned by a recognition engine.
Copy Code | |
---|---|
// Use the DisplayAttributes property to format speech as text. static string GetDisplayText(List<RecognizedWordUnit> words) { StringBuilder sb = new StringBuilder(); // Concatenate the word units together. Use the DisplayAttributes // property of each word unit to add or remove white space around // the word unit. foreach (RecognizedWordUnit word in words) { if ((word.DisplayAttributes & DisplayAttributes.ConsumeLeadingSpaces) != 0)) { sb = new StringBuilder(sb.ToString().TrimEnd()); } sb.Append(word.Text); if ((word.DisplayAttributes & DisplayAttributes.OneTrailingSpace) != 0) { sb.Append(" "); } else if ((word.DisplayAttributes & DisplayAttributes.TwoTrailingSpaces) != 0) { sb.Append(" "); } } return sb.ToString(); } |