RecognizedWordUnit Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci RecognizedWordUnit třídy .
public:
RecognizedWordUnit(System::String ^ text, float confidence, System::String ^ pronunciation, System::String ^ lexicalForm, System::Speech::Recognition::DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
public RecognizedWordUnit (string text, float confidence, string pronunciation, string lexicalForm, System.Speech.Recognition.DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
new System.Speech.Recognition.RecognizedWordUnit : string * single * string * string * System.Speech.Recognition.DisplayAttributes * TimeSpan * TimeSpan -> System.Speech.Recognition.RecognizedWordUnit
Public Sub New (text As String, confidence As Single, pronunciation As String, lexicalForm As String, displayAttributes As DisplayAttributes, audioPosition As TimeSpan, audioDuration As TimeSpan)
Parametry
- confidence
- Single
float
Hodnota od 0,0 do 1,0 označující jistotu rozpoznávání slov.
- pronunciation
- String
Fonetický pravopis rozpoznaného slova
Tato hodnota může být null
, "" nebo Empty.
- lexicalForm
- String
Nenormalizovaný text rozpoznaného slova.
Tento argument je povinný a nesmí být null
, nebo Empty.
- displayAttributes
- DisplayAttributes
Definuje použití prázdných znaků k zobrazení rozpoznaných slov.
- audioPosition
- TimeSpan
Umístění rozpoznaného slova ve streamu zvukového vstupu.
Tato hodnota může být Zero.
- audioDuration
- TimeSpan
Délka zvukového vstupu odpovídající rozpoznaného slova.
Tato hodnota může být Zero.
Příklady
Následující příklad je poněkud vymyšlený test emulace, kdy jsou nová slova generována ze vstupu, předána emulátoru a následně ověřena.
private void _emulateAndVerify_Click(object sender, EventArgs e)
{
char[] delimiterChars = { ' ', ',', '.', ':', ';', '\t' };
string text = _emulateTextBox.Text;
string[] words = text.Split(delimiterChars);
RecognizedWordUnit[] InputWordUnits = new RecognizedWordUnit[words.Length];
for (int i = 0; i < words.Length; i++)
{
InputWordUnits[i] = new RecognizedWordUnit(
"",
0,
"",
words[i].ToLower(),
DisplayAttributes.OneTrailingSpace,
new TimeSpan(),
new TimeSpan());
}
RecognitionResult rec = _recognizer.EmulateRecognize(
InputWordUnits,
System.Globalization.CompareOptions.IgnoreCase);
if (rec == null)
{
MessageBox.Show(String.Format("Recognition emulation for {0} failed.\n", text));
}
else if (InputWordUnits.Length != rec.Words.Count)
{
MessageBox.Show(
String.Format("Length mismatch: Input was {0} words, Recognition has {1} words.\n}"));
}
else
{
for (int i = 0; i < InputWordUnits.Length; i++)
{
if (rec.Words[i].LexicalForm.ToLower() != InputWordUnits[i].LexicalForm.ToLower())
{
MessageBox.Show(
String.Format("Input word {0} \"{1}\" not found. Recognition output is {2}",
i, InputWordUnits[i].LexicalForm, rec.Words[i].LexicalForm));
continue;
}
}
}
}
Poznámky
Pokud text
jsou null
nebo pronunciation
, nebo Empty a RecognizedWordUnit použije se v operaci rozpoznávání, modul rozpoznávání vygeneruje odpovídající hodnoty v libovolné výstupní RecognizedWordUnit instanci.
Přímá konstrukce RecognizedWordUnit instancí se obvykle používá pouze při emulaci operací rozpoznávání pomocí EmulateRecognize metod SpeechRecognitionEngine nebo EmulateRecognizeAsync třídy a EmulateRecognize metod SpeechRecognizer nebo EmulateRecognizeAsync třídy .
Pro skutečné aplikace nevykonstruujte RecognizedWordUnitpřímo , ale získejte ji prostřednictvím Words vlastnosti objektu RecognizedPhrase .