Sdílet prostřednictvím


RecognizedWordUnit Konstruktor

Definice

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

text
String

Normalizovaný text pro rozpoznané slovo.

Tato hodnota může být null, "" nebo Empty.

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 .

Platí pro

Viz také