







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();
}
| |
Note