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
Hodnota float 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 nemusí být null, "" nebo Empty.
- displayAttributes
- DisplayAttributes
Definuje použití prázdného místa k zobrazení rozpoznaných slov.
- audioPosition
- TimeSpan
Umístění rozpoznaného slova ve zvukovém vstupním streamu
Tato hodnota může být Zero.
- audioDuration
- TimeSpan
Délka zvukového vstupu odpovídající rozpoznanému slovu.
Tato hodnota může být Zero.
Příklady
Následující příklad je poněkud kontrapunkční test emulace, kde se nová slova generují ze vstupu a předají emulátoru a pak ověří.
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 nebo pronunciation jsou null"" nebo Empty a RecognizedWordUnit používá 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 nebo EmulateRecognizeAsync metod SpeechRecognitionEngine třídy a EmulateRecognize metod SpeechRecognizer třídy.EmulateRecognizeAsync
Pro skutečné aplikace nekonstruujte RecognizedWordUnitpřímo , spíše jej získat prostřednictvím Words vlastnosti objektu RecognizedPhrase .